docs: 仓库链接指向本镜像仓库
Build NapCat Artifacts / Type Check & Test (push) Waiting to run

This commit is contained in:
TanTan committed 2026-11-13 09:25:58 +08:00
1 parent f954252a34
commit e311ca3275
35554 files changed
+6229626 -4

No files matched your search

@@ -0,0 +1,41 @@
import { AsnArray, OctetString } from "@peculiar/asn1-schema";
import { AlgorithmIdentifier, Attribute } from "@peculiar/asn1-x509";
/**
* ```asn1
* Version ::= INTEGER {v1(0)} (v1,...)
* ```
*/
export declare enum Version {
v1 = 0
}
/**
* ```asn1
* PrivateKey ::= OCTET STRING
* ```
*/
export declare class PrivateKey extends OctetString {
}
/**
* ```asn1
* Attributes ::= SET OF Attribute
* ```
*/
export declare class Attributes extends AsnArray<Attribute> {
constructor(items?: Attribute[]);
}
/**
* ```asn1
* PrivateKeyInfo ::= SEQUENCE {
* version Version,
* privateKeyAlgorithm AlgorithmIdentifier {{PrivateKeyAlgorithms}},
* privateKey PrivateKey,
* attributes [0] Attributes OPTIONAL }
* ```
*/
export declare class PrivateKeyInfo {
version: Version;
privateKeyAlgorithm: AlgorithmIdentifier;
privateKey: PrivateKey;
attributes?: Attributes;
constructor(params?: Partial<PrivateKeyInfo>);
}
@@ -0,0 +1,86 @@
# @isaacs/brace-expansion
A hybrid CJS/ESM TypeScript fork of
[brace-expansion](http://npm.im/brace-expansion).
[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
as known from sh/bash, in JavaScript.
[![CI](https://github.com/juliangruber/brace-expansion/actions/workflows/ci.yml/badge.svg)](https://github.com/juliangruber/brace-expansion/actions/workflows/ci.yml)
[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)
## Example
```js
import { expand } from '@isaacs/brace-expansion'
expand('file-{a,b,c}.jpg')
// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
expand('-v{,,}')
// => ['-v', '-v', '-v']
expand('file{0..2}.jpg')
// => ['file0.jpg', 'file1.jpg', 'file2.jpg']
expand('file-{a..c}.jpg')
// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
expand('file{2..0}.jpg')
// => ['file2.jpg', 'file1.jpg', 'file0.jpg']
expand('file{0..4..2}.jpg')
// => ['file0.jpg', 'file2.jpg', 'file4.jpg']
expand('file-{a..e..2}.jpg')
// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
expand('file{00..10..5}.jpg')
// => ['file00.jpg', 'file05.jpg', 'file10.jpg']
expand('{{A..C},{a..c}}')
// => ['A', 'B', 'C', 'a', 'b', 'c']
expand('ppp{,config,oe{,conf}}')
// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
```
## API
```js
import { expand } from '@isaacs/brace-expansion'
```
### const expanded = expand(str)
Return an array of all possible and valid expansions of `str`. If none are
found, `[str]` is returned.
Valid expansions are:
```js
/^(.*,)+(.+)?$/
// {a,b,...}
```
A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
```js
/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
// {x..y[..incr]}
```
A numeric sequence from `x` to `y` inclusive, with optional increment.
If `x` or `y` start with a leading `0`, all the numbers will be padded
to have equal length. Negative numbers and backwards iteration work too.
```js
/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
// {x..y[..incr]}
```
An alphabetic sequence from `x` to `y` inclusive, with optional increment.
`x` and `y` must be exactly one character, and if given, `incr` must be a
number.
For compatibility reasons, the string `${` is not eligible for brace expansion.
@@ -0,0 +1,190 @@
/*
* Copyright 2020 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
/* eslint-disable rulesdir/pure-render */
import {getOffset} from './getOffset';
import {Orientation} from '@react-types/shared';
import React, {HTMLAttributes, MutableRefObject, useRef} from 'react';
interface UseDrag1DProps {
containerRef: MutableRefObject<HTMLElement>,
reverse?: boolean,
orientation?: Orientation,
onHover?: (hovered: boolean) => void,
onDrag?: (dragging: boolean) => void,
onPositionChange?: (position: number) => void,
onIncrement?: () => void,
onDecrement?: () => void,
onIncrementToMax?: () => void,
onDecrementToMin?: () => void,
onCollapseToggle?: () => void
}
// Keep track of elements that we are currently handling dragging for via useDrag1D.
// If there's an ancestor and a descendant both using useDrag1D(), and the user starts
// dragging the descendant, we don't want useDrag1D events to fire for the ancestor.
const draggingElements: HTMLElement[] = [];
// created for splitview, this should be reusable for things like sliders/dials
// It also handles keyboard events on the target allowing for increment/decrement by a given stepsize as well as minifying/maximizing and toggling between minified and previous size
// It can also take a 'reverse' param to say if we should measure from the right/bottom instead of the top/left
// It can also handle either a vertical or horizontal movement, but not both at the same time
export function useDrag1D(props: UseDrag1DProps): HTMLAttributes<HTMLElement> {
console.warn('useDrag1D is deprecated, please use `useMove` instead https://react-spectrum.adobe.com/react-aria/useMove.html');
let {containerRef, reverse, orientation, onHover, onDrag, onPositionChange, onIncrement, onDecrement, onIncrementToMax, onDecrementToMin, onCollapseToggle} = props;
let getPosition = (e) => orientation === 'horizontal' ? e.clientX : e.clientY;
let getNextOffset = (e: MouseEvent) => {
let containerOffset = getOffset(containerRef.current, reverse, orientation);
let mouseOffset = getPosition(e);
let nextOffset = reverse ? containerOffset - mouseOffset : mouseOffset - containerOffset;
return nextOffset;
};
let dragging = useRef(false);
let prevPosition = useRef(0);
// Keep track of the current handlers in a ref so that the events can access them.
let handlers = useRef({onPositionChange, onDrag});
handlers.current.onDrag = onDrag;
handlers.current.onPositionChange = onPositionChange;
let onMouseDragged = (e: MouseEvent) => {
e.preventDefault();
let nextOffset = getNextOffset(e);
if (!dragging.current) {
dragging.current = true;
if (handlers.current.onDrag) {
handlers.current.onDrag(true);
}
if (handlers.current.onPositionChange) {
handlers.current.onPositionChange(nextOffset);
}
}
if (prevPosition.current === nextOffset) {
return;
}
prevPosition.current = nextOffset;
if (onPositionChange) {
onPositionChange(nextOffset);
}
};
let onMouseUp = (e: MouseEvent) => {
const target = e.target as HTMLElement;
dragging.current = false;
let nextOffset = getNextOffset(e);
if (handlers.current.onDrag) {
handlers.current.onDrag(false);
}
if (handlers.current.onPositionChange) {
handlers.current.onPositionChange(nextOffset);
}
draggingElements.splice(draggingElements.indexOf(target), 1);
window.removeEventListener('mouseup', onMouseUp, false);
window.removeEventListener('mousemove', onMouseDragged, false);
};
let onMouseDown = (e: React.MouseEvent<HTMLElement>) => {
const target = e.currentTarget;
// If we're already handling dragging on a descendant with useDrag1D, then
// we don't want to handle the drag motion on this target as well.
if (draggingElements.some(elt => target.contains(elt))) {
return;
}
draggingElements.push(target);
window.addEventListener('mousemove', onMouseDragged, false);
window.addEventListener('mouseup', onMouseUp, false);
};
let onMouseEnter = () => {
if (onHover) {
onHover(true);
}
};
let onMouseOut = () => {
if (onHover) {
onHover(false);
}
};
let onKeyDown = (e) => {
switch (e.key) {
case 'Left':
case 'ArrowLeft':
if (orientation === 'horizontal') {
e.preventDefault();
if (onDecrement && !reverse) {
onDecrement();
} else if (onIncrement && reverse) {
onIncrement();
}
}
break;
case 'Up':
case 'ArrowUp':
if (orientation === 'vertical') {
e.preventDefault();
if (onDecrement && !reverse) {
onDecrement();
} else if (onIncrement && reverse) {
onIncrement();
}
}
break;
case 'Right':
case 'ArrowRight':
if (orientation === 'horizontal') {
e.preventDefault();
if (onIncrement && !reverse) {
onIncrement();
} else if (onDecrement && reverse) {
onDecrement();
}
}
break;
case 'Down':
case 'ArrowDown':
if (orientation === 'vertical') {
e.preventDefault();
if (onIncrement && !reverse) {
onIncrement();
} else if (onDecrement && reverse) {
onDecrement();
}
}
break;
case 'Home':
e.preventDefault();
if (onDecrementToMin) {
onDecrementToMin();
}
break;
case 'End':
e.preventDefault();
if (onIncrementToMax) {
onIncrementToMax();
}
break;
case 'Enter':
e.preventDefault();
if (onCollapseToggle) {
onCollapseToggle();
}
break;
}
};
return {onMouseDown, onMouseEnter, onMouseOut, onKeyDown};
}
@@ -0,0 +1,86 @@
// Ported from https://github.com/mafintosh/pump with
// permission from the author, Mathias Buus (@mafintosh).
'use strict';
var eos;
function once(callback) {
var called = false;
return function () {
if (called) return;
called = true;
callback.apply(void 0, arguments);
};
}
var _require$codes = require('../../../errors').codes,
ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,
ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
function noop(err) {
// Rethrow the error if it exists to avoid swallowing it
if (err) throw err;
}
function isRequest(stream) {
return stream.setHeader && typeof stream.abort === 'function';
}
function destroyer(stream, reading, writing, callback) {
callback = once(callback);
var closed = false;
stream.on('close', function () {
closed = true;
});
if (eos === undefined) eos = require('./end-of-stream');
eos(stream, {
readable: reading,
writable: writing
}, function (err) {
if (err) return callback(err);
closed = true;
callback();
});
var destroyed = false;
return function (err) {
if (closed) return;
if (destroyed) return;
destroyed = true;
// request.destroy just do .end - .abort is what we want
if (isRequest(stream)) return stream.abort();
if (typeof stream.destroy === 'function') return stream.destroy();
callback(err || new ERR_STREAM_DESTROYED('pipe'));
};
}
function call(fn) {
fn();
}
function pipe(from, to) {
return from.pipe(to);
}
function popCallback(streams) {
if (!streams.length) return noop;
if (typeof streams[streams.length - 1] !== 'function') return noop;
return streams.pop();
}
function pipeline() {
for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {
streams[_key] = arguments[_key];
}
var callback = popCallback(streams);
if (Array.isArray(streams[0])) streams = streams[0];
if (streams.length < 2) {
throw new ERR_MISSING_ARGS('streams');
}
var error;
var destroys = streams.map(function (stream, i) {
var reading = i < streams.length - 1;
var writing = i > 0;
return destroyer(stream, reading, writing, function (err) {
if (!error) error = err;
if (err) destroys.forEach(call);
if (reading) return;
destroys.forEach(call);
callback(error);
});
});
return streams.reduce(pipe);
}
module.exports = pipeline;
@@ -0,0 +1,75 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Omit = Omit;
const type_1 = require("../create/type");
const discard_1 = require("../discard/discard");
const symbols_1 = require("../symbols/symbols");
const index_1 = require("../computed/index");
const index_2 = require("../literal/index");
const index_3 = require("../indexed/index");
const index_4 = require("../intersect/index");
const index_5 = require("../union/index");
const index_6 = require("../object/index");
// ------------------------------------------------------------------
// Mapped
// ------------------------------------------------------------------
const omit_from_mapped_key_1 = require("./omit-from-mapped-key");
const omit_from_mapped_result_1 = require("./omit-from-mapped-result");
// ------------------------------------------------------------------
// TypeGuard
// ------------------------------------------------------------------
const kind_1 = require("../guard/kind");
const value_1 = require("../guard/value");
// prettier-ignore
function FromIntersect(types, propertyKeys) {
return types.map((type) => OmitResolve(type, propertyKeys));
}
// prettier-ignore
function FromUnion(types, propertyKeys) {
return types.map((type) => OmitResolve(type, propertyKeys));
}
// ------------------------------------------------------------------
// FromProperty
// ------------------------------------------------------------------
// prettier-ignore
function FromProperty(properties, key) {
const { [key]: _, ...R } = properties;
return R;
}
// prettier-ignore
function FromProperties(properties, propertyKeys) {
return propertyKeys.reduce((T, K2) => FromProperty(T, K2), properties);
}
// prettier-ignore
function FromObject(properties, propertyKeys) {
const options = (0, discard_1.Discard)(properties, [symbols_1.TransformKind, '$id', 'required', 'properties']);
const omittedProperties = FromProperties(properties['properties'], propertyKeys);
return (0, index_6.Object)(omittedProperties, options);
}
// prettier-ignore
function UnionFromPropertyKeys(propertyKeys) {
const result = propertyKeys.reduce((result, key) => (0, kind_1.IsLiteralValue)(key) ? [...result, (0, index_2.Literal)(key)] : result, []);
return (0, index_5.Union)(result);
}
// prettier-ignore
function OmitResolve(properties, propertyKeys) {
return ((0, kind_1.IsIntersect)(properties) ? (0, index_4.Intersect)(FromIntersect(properties.allOf, propertyKeys)) :
(0, kind_1.IsUnion)(properties) ? (0, index_5.Union)(FromUnion(properties.anyOf, propertyKeys)) :
(0, kind_1.IsObject)(properties) ? FromObject(properties, propertyKeys) :
(0, index_6.Object)({}));
}
/** `[Json]` Constructs a type whose keys are picked from the given type */
// prettier-ignore
function Omit(type, key, options) {
const typeKey = (0, value_1.IsArray)(key) ? UnionFromPropertyKeys(key) : key;
const propertyKeys = (0, kind_1.IsSchema)(key) ? (0, index_3.IndexPropertyKeys)(key) : key;
const isTypeRef = (0, kind_1.IsRef)(type);
const isKeyRef = (0, kind_1.IsRef)(key);
return ((0, kind_1.IsMappedResult)(type) ? (0, omit_from_mapped_result_1.OmitFromMappedResult)(type, propertyKeys, options) :
(0, kind_1.IsMappedKey)(key) ? (0, omit_from_mapped_key_1.OmitFromMappedKey)(type, key, options) :
(isTypeRef && isKeyRef) ? (0, index_1.Computed)('Omit', [type, typeKey], options) :
(!isTypeRef && isKeyRef) ? (0, index_1.Computed)('Omit', [type, typeKey], options) :
(isTypeRef && !isKeyRef) ? (0, index_1.Computed)('Omit', [type, typeKey], options) :
(0, type_1.CreateType)({ ...OmitResolve(type, propertyKeys), ...options }));
}
@@ -0,0 +1,13 @@
/**
* DON'T EDIT THIS FILE.
* This file was generated by "scripts/update-lib-configs.js" script.
*/
"use strict"
module.exports = {
extends: [
require.resolve("./no-new-in-es2023-intl-api"),
require.resolve("./no-new-in-es2022-intl-api"),
require.resolve("./no-new-in-es2021-intl-api"),
],
}
@@ -0,0 +1,72 @@
{
"name": "to-absolute-glob",
"description": "Make a glob pattern absolute, ensuring that negative globs and patterns with trailing slashes are correctly handled.",
"version": "2.0.2",
"homepage": "https://github.com/jonschlinkert/to-absolute-glob",
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
"contributors": [
"Blaine Bublitz <blaine.bublitz@gmail.com> (https://twitter.com/BlaineBublitz)",
"Brian Woodward <brian.woodward@gmail.com> (https://github.com/doowb)",
"Erik Kemperman (https://github.com/erikkemperman)",
"Jon Schlinkert <jon.schlinkert@sellside.com> (http://twitter.com/jonschlinkert)"
],
"repository": "jonschlinkert/to-absolute-glob",
"bugs": {
"url": "https://github.com/jonschlinkert/to-absolute-glob/issues"
},
"license": "MIT",
"files": [
"index.js"
],
"main": "index.js",
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"test": "mocha"
},
"dependencies": {
"is-absolute": "^1.0.0",
"is-negated-glob": "^1.0.0"
},
"devDependencies": {
"gulp-format-md": "^0.1.11",
"mocha": "^3.0.2"
},
"keywords": [
"absolute",
"file",
"filepath",
"glob",
"negate",
"negative",
"path",
"pattern",
"resolve",
"to"
],
"verb": {
"toc": false,
"layout": "default",
"tasks": [
"readme"
],
"plugins": [
"gulp-format-md"
],
"lint": {
"reflinks": true
},
"related": {
"list": [
"has-glob",
"is-glob",
"is-valid-glob"
]
},
"reflinks": [
"verb",
"verb-generate-readme"
]
}
}
@@ -0,0 +1 @@
const t=(t,r,a)=>a>r?r:a<t?t:a;function r(t){return null!==t&&"object"==typeof t&&"function"==typeof t.start}function a(t){return"string"==typeof t||Array.isArray(t)}const e=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],o=["initial",...e];function s(t){return r(t.animate)||o.some(r=>a(t[r]))}function n(t){return Boolean(s(t)||t.variants)}const i=t=>r=>"string"==typeof r&&r.startsWith(t),f=i("--"),l=i("var(--"),c=t=>!!l(t)&&d.test(t.split("/*")[0].trim()),d=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,p={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},m={...p,transform:r=>t(0,1,r)},u={...p,default:1},g=t=>({test:r=>"string"==typeof r&&r.endsWith(t)&&1===r.split(" ").length,parse:parseFloat,transform:r=>`${r}${t}`}),h=g("deg"),y=g("%"),v=g("px"),w=g("vh"),x=g("vw"),b=(()=>({...y,parse:t=>y.parse(t)/100,transform:t=>y.transform(100*t)}))(),k=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],B=(()=>new Set(k))(),X={...p,transform:Math.round},Y={borderWidth:v,borderTopWidth:v,borderRightWidth:v,borderBottomWidth:v,borderLeftWidth:v,borderRadius:v,radius:v,borderTopLeftRadius:v,borderTopRightRadius:v,borderBottomRightRadius:v,borderBottomLeftRadius:v,width:v,maxWidth:v,height:v,maxHeight:v,top:v,right:v,bottom:v,left:v,padding:v,paddingTop:v,paddingRight:v,paddingBottom:v,paddingLeft:v,margin:v,marginTop:v,marginRight:v,marginBottom:v,marginLeft:v,backgroundPositionX:v,backgroundPositionY:v,...{rotate:h,rotateX:h,rotateY:h,rotateZ:h,scale:u,scaleX:u,scaleY:u,scaleZ:u,skew:h,skewX:h,skewY:h,distance:v,translateX:v,translateY:v,translateZ:v,x:v,y:v,z:v,perspective:v,transformPerspective:v,opacity:m,originX:b,originY:b,originZ:v},zIndex:X,fillOpacity:m,strokeOpacity:m,numOctaves:X},O=(t,r)=>r&&"number"==typeof t?r.transform(t):t,$=t=>Boolean(t&&t.getVelocity),T={};function W(t,{layout:r,layoutId:a}){return B.has(t)||t.startsWith("origin")||(r||void 0!==a)&&(!!T[t]||"opacity"===t)}const L={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},R=k.length;function Z(t,r,a){const{style:e,vars:o,transformOrigin:s}=t;let n=!1,i=!1;for(const t in r){const a=r[t];if(B.has(t))n=!0;else if(f(t))o[t]=a;else{const r=O(a,Y[t]);t.startsWith("origin")?(i=!0,s[t]=r):e[t]=r}}if(r.transform||(n||a?e.transform=function(t,r,a){let e="",o=!0;for(let s=0;s<R;s++){const n=k[s],i=t[n];if(void 0===i)continue;let f=!0;if(f="number"==typeof i?i===(n.startsWith("scale")?1:0):0===parseFloat(i),!f||a){const t=O(i,Y[n]);f||(o=!1,e+=`${L[n]||n}(${t}) `),a&&(r[n]=t)}}return e=e.trim(),a?e=a(r,o?"":e):o&&(e="none"),e}(r,t.transform,a):e.transform&&(e.transform="none")),i){const{originX:t="50%",originY:r="50%",originZ:a=0}=s;e.transformOrigin=`${t} ${r} ${a}`}}const P={offset:"stroke-dashoffset",array:"stroke-dasharray"},S={offset:"strokeDashoffset",array:"strokeDasharray"};function V(t,{attrX:r,attrY:a,attrScale:e,pathLength:o,pathSpacing:s=1,pathOffset:n=0,...i},f,l,c){if(Z(t,i,l),f)return void(t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox));t.attrs=t.style,t.style={};const{attrs:d,style:p}=t;d.transform&&(p.transform=d.transform,delete d.transform),(p.transform||d.transformOrigin)&&(p.transformOrigin=d.transformOrigin??"50% 50%",delete d.transformOrigin),p.transform&&(p.transformBox=c?.transformBox??"fill-box",delete d.transformBox),void 0!==r&&(d.x=r),void 0!==a&&(d.y=a),void 0!==e&&(d.scale=e),void 0!==o&&function(t,r,a=1,e=0,o=!0){t.pathLength=1;const s=o?P:S;t[s.offset]=v.transform(-e);const n=v.transform(r),i=v.transform(a);t[s.array]=`${n} ${i}`}(d,o,s,n,!1)}const A=t=>"string"==typeof t&&"svg"===t.toLowerCase(),F=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function I(t){return"string"==typeof t&&!t.includes("-")&&!!(F.indexOf(t)>-1||/[A-Z]/u.test(t))}function z(t){const r=[{},{}];return t?.values.forEach((t,a)=>{r[0][a]=t.get(),r[1][a]=t.getVelocity()}),r}function C(t,r,a,e){if("function"==typeof r){const[o,s]=z(e);r=r(void 0!==a?a:t.custom,o,s)}if("string"==typeof r&&(r=t.variants&&t.variants[r]),"function"==typeof r){const[o,s]=z(e);r=r(void 0!==a?a:t.custom,o,s)}return r}function E(t,r,a){const{style:e}=t,o={};for(const s in e)($(e[s])||r.style&&$(r.style[s])||W(s,t)||void 0!==a?.getValue(s)?.liveStyle)&&(o[s]=e[s]);return o}function H(t,r,a){const e=E(t,r,a);for(const a in t)if($(t[a])||$(r[a])){e[-1!==k.indexOf(a)?"attr"+a.charAt(0).toUpperCase()+a.substring(1):a]=t[a]}return e}const D="undefined"!=typeof window,j={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTaLine truncated
@@ -0,0 +1 @@
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../src/common/calculations/chain.ts"],"names":[],"mappings":";;AAAA,sBAIC;AAJD,QAAe,CAAC,CAAC,KAAK,CAAI,GAAG,SAAwB;IACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,CAAC,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,43 @@
/**
* @author Toru Nagashima <https://github.com/mysticatea>
* See LICENSE file in root directory for full license.
*/
"use strict"
const { READ, ReferenceTracker } = require("eslint-utils")
module.exports = {
meta: {
docs: {
description: "disallow the `Math.fround` method.",
category: "ES2015",
recommended: false,
url:
"http://mysticatea.github.io/eslint-plugin-es/rules/no-math-fround.html",
},
fixable: null,
messages: {
forbidden: "ES2015 '{{name}}' method is forbidden.",
},
schema: [],
type: "problem",
},
create(context) {
return {
"Program:exit"() {
const tracker = new ReferenceTracker(context.getScope())
for (const { node, path } of tracker.iterateGlobalReferences({
Math: {
fround: { [READ]: true },
},
})) {
context.report({
node,
messageId: "forbidden",
data: { name: path.join(".") },
})
}
},
}
},
}
@@ -0,0 +1,3 @@
declare const _exports: import('eslint').Rule.RuleModule;
export = _exports;
//# sourceMappingURL=require-optimization.d.ts.map
@@ -0,0 +1,42 @@
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/utils/merge-classes.ts
var merge_classes_exports = {};
__export(merge_classes_exports, {
mergeClasses: () => mergeClasses
});
module.exports = __toCommonJS(merge_classes_exports);
var import_shared_utils = require("@heroui/shared-utils");
var mergeClasses = (itemClasses, itemPropsClasses) => {
if (!itemClasses && !itemPropsClasses)
return {};
const keys = /* @__PURE__ */ new Set([...Object.keys(itemClasses || {}), ...Object.keys(itemPropsClasses || {})]);
return Array.from(keys).reduce(
(acc, key) => ({
...acc,
[key]: (0, import_shared_utils.clsx)(itemClasses == null ? void 0 : itemClasses[key], itemPropsClasses == null ? void 0 : itemPropsClasses[key])
}),
{}
);
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
mergeClasses
});
@@ -0,0 +1 @@
{"version":3,"file":"setInstanceProperties.spec.d.ts","sourceRoot":"","sources":["../../../../src/resolution/actions/setInstanceProperties.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,403 @@
var token = /d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g;
var twoDigitsOptional = "\\d\\d?";
var twoDigits = "\\d\\d";
var threeDigits = "\\d{3}";
var fourDigits = "\\d{4}";
var word = "[^\\s]+";
var literal = /\[([^]*?)\]/gm;
function shorten(arr, sLen) {
var newArr = [];
for (var i = 0, len = arr.length; i < len; i++) {
newArr.push(arr[i].substr(0, sLen));
}
return newArr;
}
var monthUpdate = function (arrName) { return function (v, i18n) {
var lowerCaseArr = i18n[arrName].map(function (v) { return v.toLowerCase(); });
var index = lowerCaseArr.indexOf(v.toLowerCase());
if (index > -1) {
return index;
}
return null;
}; };
function assign(origObj) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
var obj = args_1[_a];
for (var key in obj) {
// @ts-ignore ex
origObj[key] = obj[key];
}
}
return origObj;
}
var dayNames = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
];
var monthNames = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
];
var monthNamesShort = shorten(monthNames, 3);
var dayNamesShort = shorten(dayNames, 3);
var defaultI18n = {
dayNamesShort: dayNamesShort,
dayNames: dayNames,
monthNamesShort: monthNamesShort,
monthNames: monthNames,
amPm: ["am", "pm"],
DoFn: function (dayOfMonth) {
return (dayOfMonth +
["th", "st", "nd", "rd"][dayOfMonth % 10 > 3
? 0
: ((dayOfMonth - (dayOfMonth % 10) !== 10 ? 1 : 0) * dayOfMonth) % 10]);
}
};
var globalI18n = assign({}, defaultI18n);
var setGlobalDateI18n = function (i18n) {
return (globalI18n = assign(globalI18n, i18n));
};
var regexEscape = function (str) {
return str.replace(/[|\\{()[^$+*?.-]/g, "\\$&");
};
var pad = function (val, len) {
if (len === void 0) { len = 2; }
val = String(val);
while (val.length < len) {
val = "0" + val;
}
return val;
};
var formatFlags = {
D: function (dateObj) { return String(dateObj.getDate()); },
DD: function (dateObj) { return pad(dateObj.getDate()); },
Do: function (dateObj, i18n) {
return i18n.DoFn(dateObj.getDate());
},
d: function (dateObj) { return String(dateObj.getDay()); },
dd: function (dateObj) { return pad(dateObj.getDay()); },
ddd: function (dateObj, i18n) {
return i18n.dayNamesShort[dateObj.getDay()];
},
dddd: function (dateObj, i18n) {
return i18n.dayNames[dateObj.getDay()];
},
M: function (dateObj) { return String(dateObj.getMonth() + 1); },
MM: function (dateObj) { return pad(dateObj.getMonth() + 1); },
MMM: function (dateObj, i18n) {
return i18n.monthNamesShort[dateObj.getMonth()];
},
MMMM: function (dateObj, i18n) {
return i18n.monthNames[dateObj.getMonth()];
},
YY: function (dateObj) {
return pad(String(dateObj.getFullYear()), 4).substr(2);
},
YYYY: function (dateObj) { return pad(dateObj.getFullYear(), 4); },
h: function (dateObj) { return String(dateObj.getHours() % 12 || 12); },
hh: function (dateObj) { return pad(dateObj.getHours() % 12 || 12); },
H: function (dateObj) { return String(dateObj.getHours()); },
HH: function (dateObj) { return pad(dateObj.getHours()); },
m: function (dateObj) { return String(dateObj.getMinutes()); },
mm: function (dateObj) { return pad(dateObj.getMinutes()); },
s: function (dateObj) { return String(dateObj.getSeconds()); },
ss: function (dateObj) { return pad(dateObj.getSeconds()); },
S: function (dateObj) {
return String(Math.round(dateObj.getMilliseconds() / 100));
},
SS: function (dateObj) {
return pad(Math.round(dateObj.getMilliseconds() / 10), 2);
},
SSS: function (dateObj) { return pad(dateObj.getMilliseconds(), 3); },
a: function (dateObj, i18n) {
return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1];
},
A: function (dateObj, i18n) {
return dateObj.getHours() < 12
? i18n.amPm[0].toUpperCase()
: i18n.amPm[1].toUpperCase();
},
ZZ: function (dateObj) {
var offset = dateObj.getTimezoneOffset();
return ((offset > 0 ? "-" : "+") +
pad(Math.floor(Math.abs(offset) / 60) * 100 + (Math.abs(offset) % 60), 4));
},
Z: function (dateObj) {
var offset = dateObj.getTimezoneOffset();
return ((offset > 0 ? "-" : "+") +
pad(Math.floor(Math.abs(offset) / 60), 2) +
":" +
pad(Math.abs(offset) % 60, 2));
}
};
var monthParse = function (v) { return +v - 1; };
var emptyDigits = [null, twoDigitsOptional];
var emptyWord = [null, word];
var amPm = [
"isPm",
word,
function (v, i18n) {
var val = v.toLowerCase();
if (val === i18n.amPm[0]) {
return 0;
}
else if (val === i18n.amPm[1]) {
return 1;
}
return null;
}
];
var timezoneOffset = [
"timezoneOffset",
"[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",
function (v) {
var parts = (v + "").match(/([+-]|\d\d)/gi);
if (parts) {
var minutes = +parts[1] * 60 + parseInt(parts[2], 10);
return parts[0] === "+" ? minutes : -minutes;
}
return 0;
}
];
var parseFlags = {
D: ["day", twoDigitsOptional],
DD: ["day", twoDigits],
Do: ["day", twoDigitsOptional + word, function (v) { return parseInt(v, 10); }],
M: ["month", twoDigitsOptional, monthParse],
MM: ["month", twoDigits, monthParse],
YY: [
"year",
twoDigits,
function (v) {
var now = new Date();
var cent = +("" + now.getFullYear()).substr(0, 2);
return +("" + (+v > 68 ? cent - 1 : cent) + v);
}
],
h: ["hour", twoDigitsOptional, undefined, "isPm"],
hh: ["hour", twoDigits, undefined, "isPm"],
H: ["hour", twoDigitsOptional],
HH: ["hour", twoDigits],
m: ["minute", twoDigitsOptional],
mm: ["minute", twoDigits],
s: ["second", twoDigitsOptional],
ss: ["second", twoDigits],
YYYY: ["year", fourDigits],
S: ["millisecond", "\\d", function (v) { return +v * 100; }],
SS: ["millisecond", twoDigits, function (v) { return +v * 10; }],
SSS: ["millisecond", threeDigits],
d: emptyDigits,
dd: emptyDigits,
ddd: emptyWord,
dddd: emptyWord,
MMM: ["month", word, monthUpdate("monthNamesShort")],
MMMM: ["month", word, monthUpdate("monthNames")],
a: amPm,
A: amPm,
ZZ: timezoneOffset,
Z: timezoneOffset
};
// Some common format strings
var globalMasks = {
default: "ddd MMM DD YYYY HH:mm:ss",
shortDate: "M/D/YY",
mediumDate: "MMM D, YYYY",
longDate: "MMMM D, YYYY",
fullDate: "dddd, MMMM D, YYYY",
isoDate: "YYYY-MM-DD",
isoDateTime: "YYYY-MM-DDTHH:mm:ssZ",
shortTime: "HH:mm",
mediumTime: "HH:mm:ss",
longTime: "HH:mm:ss.SSS"
};
var setGlobalDateMasks = function (masks) { return assign(globalMasks, masks); };
/***
* Format a date
* @method format
* @param {Date|number} dateObj
* @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate'
* @returns {string} Formatted date string
*/
var format = function (dateObj, mask, i18n) {
if (mask === void 0) { mask = globalMasks["default"]; }
if (i18n === void 0) { i18n = {}; }
if (typeof dateObj === "number") {
dateObj = new Date(dateObj);
}
if (Object.prototype.toString.call(dateObj) !== "[object Date]" ||
isNaN(dateObj.getTime())) {
throw new Error("Invalid Date pass to format");
}
mask = globalMasks[mask] || mask;
var literals = [];
// Make literals inactive by replacing them with @@@
mask = mask.replace(literal, function ($0, $1) {
literals.push($1);
return "@@@";
});
var combinedI18nSettings = assign(assign({}, globalI18n), i18n);
// Apply formatting rules
mask = mask.replace(token, function ($0) {
return formatFlags[$0](dateObj, combinedI18nSettings);
});
// Inline literal values back into the formatted value
return mask.replace(/@@@/g, function () { return literals.shift(); });
};
/**
* Parse a date string into a Javascript Date object /
* @method parse
* @param {string} dateStr Date string
* @param {string} format Date parse format
* @param {i18n} I18nSettingsOptional Full or subset of I18N settings
* @returns {Date|null} Returns Date object. Returns null what date string is invalid or doesn't match format
*/
function parse(dateStr, format, i18n) {
if (i18n === void 0) { i18n = {}; }
if (typeof format !== "string") {
throw new Error("Invalid format in fecha parse");
}
// Check to see if the format is actually a mask
format = globalMasks[format] || format;
// Avoid regular expression denial of service, fail early for really long strings
// https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS
if (dateStr.length > 1000) {
return null;
}
// Default to the beginning of the year.
var today = new Date();
var dateInfo = {
year: today.getFullYear(),
month: 0,
day: 1,
hour: 0,
minute: 0,
second: 0,
millisecond: 0,
isPm: null,
timezoneOffset: null
};
var parseInfo = [];
var literals = [];
// Replace all the literals with @@@. Hopefully a string that won't exist in the format
var newFormat = format.replace(literal, function ($0, $1) {
literals.push(regexEscape($1));
return "@@@";
});
var specifiedFields = {};
var requiredFields = {};
// Change every token that we find into the correct regex
newFormat = regexEscape(newFormat).replace(token, function ($0) {
var info = parseFlags[$0];
var field = info[0], regex = info[1], requiredField = info[3];
// Check if the person has specified the same field twice. This will lead to confusing results.
if (specifiedFields[field]) {
throw new Error("Invalid format. " + field + " specified twice in format");
}
specifiedFields[field] = true;
// Check if there are any required fields. For instance, 12 hour time requires AM/PM specified
if (requiredField) {
requiredFields[requiredField] = true;
}
parseInfo.push(info);
return "(" + regex + ")";
});
// Check all the required fields are present
Object.keys(requiredFields).forEach(function (field) {
if (!specifiedFields[field]) {
throw new Error("Invalid format. " + field + " is required in specified format");
}
});
// Add back all the literals after
newFormat = newFormat.replace(/@@@/g, function () { return literals.shift(); });
// Check if the date string matches the format. If it doesn't return null
var matches = dateStr.match(new RegExp(newFormat, "i"));
if (!matches) {
return null;
}
var combinedI18nSettings = assign(assign({}, globalI18n), i18n);
// For each match, call the parser function for that date part
for (var i = 1; i < matches.length; i++) {
var _a = parseInfo[i - 1], field = _a[0], parser = _a[2];
var value = parser
? parser(matches[i], combinedI18nSettings)
: +matches[i];
// If the parser can't make sense of the value, return null
if (value == null) {
return null;
}
dateInfo[field] = value;
}
if (dateInfo.isPm === 1 && dateInfo.hour != null && +dateInfo.hour !== 12) {
dateInfo.hour = +dateInfo.hour + 12;
}
else if (dateInfo.isPm === 0 && +dateInfo.hour === 12) {
dateInfo.hour = 0;
}
var dateTZ;
if (dateInfo.timezoneOffset == null) {
dateTZ = new Date(dateInfo.year, dateInfo.month, dateInfo.day, dateInfo.hour, dateInfo.minute, dateInfo.second, dateInfo.millisecond);
var validateFields = [
["month", "getMonth"],
["day", "getDate"],
["hour", "getHours"],
["minute", "getMinutes"],
["second", "getSeconds"]
];
for (var i = 0, len = validateFields.length; i < len; i++) {
// Check to make sure the date field is within the allowed range. Javascript dates allows values
// outside the allowed range. If the values don't match the value was invalid
if (specifiedFields[validateFields[i][0]] &&
dateInfo[validateFields[i][0]] !== dateTZ[validateFields[i][1]]()) {
return null;
}
}
}
else {
dateTZ = new Date(Date.UTC(dateInfo.year, dateInfo.month, dateInfo.day, dateInfo.hour, dateInfo.minute - dateInfo.timezoneOffset, dateInfo.second, dateInfo.millisecond));
// We can't validate dates in another timezone unfortunately. Do a basic check instead
if (dateInfo.month > 11 ||
dateInfo.month < 0 ||
dateInfo.day > 31 ||
dateInfo.day < 1 ||
dateInfo.hour > 23 ||
dateInfo.hour < 0 ||
dateInfo.minute > 59 ||
dateInfo.minute < 0 ||
dateInfo.second > 59 ||
dateInfo.second < 0) {
return null;
}
}
// Don't allow invalid dates
return dateTZ;
}
var fecha = {
format: format,
parse: parse,
defaultI18n: defaultI18n,
setGlobalDateI18n: setGlobalDateI18n,
setGlobalDateMasks: setGlobalDateMasks
};
export default fecha;
export { assign, format, parse, defaultI18n, setGlobalDateI18n, setGlobalDateMasks };
//# sourceMappingURL=fecha.js.map
@@ -0,0 +1,3 @@
declare const _exports: import('eslint').Rule.RuleModule;
export = _exports;
//# sourceMappingURL=no-unstable-nested-components.d.ts.map
@@ -0,0 +1,525 @@
import { ServiceIdentifier, Either, Newable, LazyServiceIdentifier } from '@inversifyjs/common';
declare function getBindingId(): number;
type BindingScope = 'Singleton' | 'Transient' | 'Request';
declare const bindingScopeValues: {
[TKey in BindingScope]: TKey;
};
interface AutobindOptions {
scope: BindingScope;
}
type MetadataName = number | string | symbol;
type MetadataTag = number | string | symbol;
interface BindingConstraints {
readonly name: MetadataName | undefined;
readonly tags: Map<MetadataTag, unknown>;
readonly serviceIdentifier: ServiceIdentifier;
getAncestor(): BindingConstraints | undefined;
}
type BindingType = 'ConstantValue' | 'DynamicValue' | 'Factory' | 'Instance' | 'Provider' | 'ResolvedValue' | 'ServiceRedirection';
declare const bindingTypeValues: {
[TKey in BindingType]: TKey;
};
interface BaseBinding<TType extends BindingType, TActivated> {
readonly id: number;
readonly moduleId: number | undefined;
readonly serviceIdentifier: ServiceIdentifier<TActivated>;
readonly type: TType;
readonly isSatisfiedBy: (constraints: BindingConstraints) => boolean;
}
type Resolved<TActivated> = SyncResolved<TActivated> | Promise<SyncResolved<TActivated>>;
type SyncResolved<TActivated> = TActivated;
interface GetOptionsTagConstraint {
key: MetadataTag;
value: unknown;
}
interface GetOptions {
autobind?: boolean;
name?: MetadataName;
optional?: boolean;
tag?: GetOptionsTagConstraint;
}
interface OptionalGetOptions extends GetOptions {
optional: true;
}
interface ResolutionContext {
get<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options: OptionalGetOptions): TActivated | undefined;
get<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): TActivated;
getAll<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): TActivated[];
getAllAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): Promise<TActivated[]>;
getAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options: OptionalGetOptions): Promise<TActivated | undefined>;
getAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): Promise<TActivated>;
}
type BindingActivation<T = unknown> = (context: ResolutionContext, injectable: T) => Resolved<T>;
type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;
interface ScopedBinding<TType extends BindingType, TScope extends BindingScope, TActivated> extends BaseBinding<TType, TActivated> {
cache: Either<undefined, Resolved<TActivated>>;
readonly onActivation: BindingActivation<TActivated> | undefined;
readonly onDeactivation: BindingDeactivation<TActivated> | undefined;
readonly scope: TScope;
}
interface ConstantValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.ConstantValue, typeof bindingScopeValues.Singleton, TActivated> {
readonly value: Resolved<TActivated>;
}
type DynamicValueBuilder<T> = (context: ResolutionContext) => Resolved<T>;
interface DynamicValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.DynamicValue, BindingScope, TActivated> {
readonly value: DynamicValueBuilder<TActivated>;
}
type Factory<TActivated, in TArgs extends unknown[] = any[]> = (...args: TArgs) => TActivated | Promise<TActivated>;
interface FactoryBinding<TActivated extends Factory<unknown>> extends ScopedBinding<typeof bindingTypeValues.Factory, typeof bindingScopeValues.Singleton, TActivated> {
readonly factory: (context: ResolutionContext) => TActivated | Promise<TActivated>;
}
interface InstanceBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.Instance, BindingScope, TActivated> {
readonly implementationType: Newable<TActivated>;
}
/**
* @deprecated Use `Factory` instead. Provider will be removed in v8.
* Providers exist for historical reasons from v5 when async dependencies weren't supported.
* Factories are more flexible and can handle both sync and async operations.
*/
type Provider<TActivated, in TArgs extends unknown[] = any[]> = (...args: TArgs) => Promise<TActivated>;
interface ProviderBinding<TActivated extends Provider<unknown>>// eslint-disable-line @typescript-eslint/no-deprecated
extends ScopedBinding<typeof bindingTypeValues.Provider, typeof bindingScopeValues.Singleton, TActivated> {
readonly provider: (context: ResolutionContext) => TActivated;
}
interface BaseResolvedValueElementMetadata<TKind> {
kind: TKind;
name: MetadataName | undefined;
optional: boolean;
tags: Map<MetadataTag, unknown>;
value: ServiceIdentifier | LazyServiceIdentifier;
}
declare enum ResolvedValueElementMetadataKind {
multipleInjection = 0,
singleInjection = 1
}
interface MultipleInjectionResolvedValueElementMetadata extends BaseResolvedValueElementMetadata<ResolvedValueElementMetadataKind.multipleInjection> {
chained: boolean;
}
type SingleInjectionResolvedValueElementMetadata = BaseResolvedValueElementMetadata<ResolvedValueElementMetadataKind.singleInjection>;
type ResolvedValueElementMetadata = SingleInjectionResolvedValueElementMetadata | MultipleInjectionResolvedValueElementMetadata;
interface ResolvedValueMetadata {
arguments: ResolvedValueElementMetadata[];
}
interface ResolvedValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.ResolvedValue, BindingScope, TActivated> {
readonly factory: (...args: any[]) => TActivated | Promise<TActivated>;
readonly metadata: ResolvedValueMetadata;
}
interface ServiceRedirectionBinding<TActivated> extends BaseBinding<typeof bindingTypeValues.ServiceRedirection, TActivated> {
targetServiceIdentifier: ServiceIdentifier;
}
type Binding<TActivated = any> = ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | InstanceBinding<TActivated> | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never) | ResolvedValueBinding<TActivated> | ServiceRedirectionBinding<TActivated>;
interface Cloneable<T> {
clone(): T;
}
declare enum ActivationRelationKind {
moduleId = "moduleId",
serviceId = "serviceId"
}
interface BindingActivationRelation {
[ActivationRelationKind.moduleId]?: number;
[ActivationRelationKind.serviceId]: ServiceIdentifier;
}
declare class ActivationsService implements Cloneable<ActivationsService> {
#private;
private constructor();
static build(getParent: () => ActivationsService | undefined): ActivationsService;
add(activation: BindingActivation, relation: BindingActivationRelation): void;
clone(): ActivationsService;
get(serviceIdentifier: ServiceIdentifier): Iterable<BindingActivation> | undefined;
removeAllByModuleId(moduleId: number): void;
removeAllByServiceId(serviceId: ServiceIdentifier): void;
}
declare class BindingService implements Cloneable<BindingService> {
#private;
private constructor();
static build(getParent: () => BindingService | undefined, autobindOptions?: AutobindOptions): BindingService;
clone(): BindingService;
get<TResolved>(serviceIdentifier: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
getChained<TResolved>(serviceIdentifier: ServiceIdentifier): Generator<Binding<TResolved>, void, unknown>;
getBoundServices(): Iterable<ServiceIdentifier>;
getById<TResolved>(id: number): Iterable<Binding<TResolved>> | undefined;
getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
getNonParentBindings<TResolved>(serviceId: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
getNonParentBoundServices(): Iterable<ServiceIdentifier>;
removeById(id: number): void;
removeAllByModuleId(moduleId: number): void;
removeAllByServiceId(serviceId: ServiceIdentifier): void;
set<TInstance>(binding: Binding<TInstance>): void;
}
declare enum DeactivationRelationKind {
moduleId = "moduleId",
serviceId = "serviceId"
}
interface BindingDeactivationRelation {
[DeactivationRelationKind.moduleId]?: number;
[DeactivationRelationKind.serviceId]: ServiceIdentifier;
}
declare class DeactivationsService implements Cloneable<DeactivationsService> {
#private;
private constructor();
static build(getParent: () => DeactivationsService | undefined): DeactivationsService;
add(deactivation: BindingDeactivation, relation: BindingDeactivationRelation): void;
clone(): DeactivationsService;
get(serviceIdentifier: ServiceIdentifier): Iterable<BindingDeactivation> | undefined;
removeAllByModuleId(moduleId: number): void;
removeAllByServiceId(serviceId: ServiceIdentifier): void;
}
declare function decorate(decorators: ClassDecorator | ClassDecorator[], target: Function): void;
declare function decorate(decorators: ParameterDecorator | ParameterDecorator[], target: Function, parameterIndex: number): void;
declare function decorate(decorators: ParameterDecorator | ParameterDecorator[], target: Function, methodName: string | symbol, parameterIndex: number): void;
declare function decorate(decorators: MethodDecorator | PropertyDecorator | MethodDecorator[] | PropertyDecorator[], target: Function, property: string | symbol): void;
declare enum InversifyCoreErrorKind {
injectionDecoratorConflict = 0,
missingInjectionDecorator = 1,
planning = 2,
resolution = 3,
unknown = 4
}
declare const isAppErrorSymbol: unique symbol;
declare class InversifyCoreError extends Error {
[isAppErrorSymbol]: true;
kind: InversifyCoreErrorKind;
constructor(kind: InversifyCoreErrorKind, message?: string, options?: ErrorOptions);
static is(value: unknown): value is InversifyCoreError;
static isErrorOfKind(value: unknown, kind: InversifyCoreErrorKind): value is InversifyCoreError;
}
interface BaseClassElementMetadata<TKind> {
kind: TKind;
}
interface BaseManagedClassElementMetadata<TKind> extends BaseClassElementMetadata<TKind> {
isFromTypescriptParamType?: true;
name: MetadataName | undefined;
optional: boolean;
tags: Map<MetadataTag, unknown>;
value: ServiceIdentifier | LazyServiceIdentifier;
}
declare enum ClassElementMetadataKind {
multipleInjection = 0,
singleInjection = 1,
unmanaged = 2
}
interface MultipleInjectionManagedClassElementMetadata extends BaseManagedClassElementMetadata<ClassElementMetadataKind.multipleInjection> {
chained: boolean;
}
type SingleInjectionManagedClassElementMetadata = BaseManagedClassElementMetadata<ClassElementMetadataKind.singleInjection>;
type ManagedClassElementMetadata = SingleInjectionManagedClassElementMetadata | MultipleInjectionManagedClassElementMetadata;
type UnmanagedClassElementMetadata = BaseClassElementMetadata<ClassElementMetadataKind.unmanaged>;
type ClassElementMetadata = ManagedClassElementMetadata | UnmanagedClassElementMetadata;
interface ClassMetadataLifecycle {
postConstructMethodNames: Set<string | symbol>;
preDestroyMethodNames: Set<string | symbol>;
}
interface ClassMetadata {
constructorArguments: ClassElementMetadata[];
lifecycle: ClassMetadataLifecycle;
properties: Map<string | symbol, ClassElementMetadata>;
scope: BindingScope | undefined;
}
declare function getClassMetadata(type: Newable): ClassMetadata;
declare function inject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): MethodDecorator & ParameterDecorator & PropertyDecorator;
declare function injectable(scope?: BindingScope): ClassDecorator;
interface InjectFromBaseOptionsLifecycle {
extendPreDestroyMethods?: boolean | undefined;
extendPostConstructMethods?: boolean | undefined;
}
interface InjectFromBaseOptions {
extendConstructorArguments?: boolean | undefined;
extendProperties?: boolean | undefined;
lifecycle?: InjectFromBaseOptionsLifecycle | undefined;
}
declare function injectFromBase(options?: InjectFromBaseOptions): ClassDecorator;
interface InjectFromHierarchyOptionsLifecycle {
extendPreDestroyMethods?: boolean | undefined;
extendPostConstructMethods?: boolean | undefined;
}
interface InjectFromHierarchyOptions {
extendConstructorArguments?: boolean | undefined;
extendProperties?: boolean | undefined;
lifecycle?: InjectFromHierarchyOptionsLifecycle | undefined;
}
declare function injectFromHierarchy(options?: InjectFromHierarchyOptions): ClassDecorator;
interface MultiInjectOptions {
chained?: boolean;
}
declare function multiInject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier, options?: MultiInjectOptions): MethodDecorator & ParameterDecorator & PropertyDecorator;
declare function named(name: MetadataName): MethodDecorator & ParameterDecorator & PropertyDecorator;
declare function optional(): MethodDecorator & ParameterDecorator & PropertyDecorator;
declare function postConstruct(): MethodDecorator;
declare function preDestroy(): MethodDecorator;
declare function tagged(key: MetadataTag, value: unknown): MethodDecorator & ParameterDecorator & PropertyDecorator;
declare function unmanaged(): MethodDecorator & ParameterDecorator & PropertyDecorator;
interface InjectFromOptionsLifecycle {
extendPreDestroyMethods?: boolean | undefined;
extendPostConstructMethods?: boolean | undefined;
}
interface InjectFromOptions {
extendConstructorArguments?: boolean | undefined;
extendProperties?: boolean | undefined;
lifecycle?: InjectFromOptionsLifecycle | undefined;
type: Newable;
}
interface SingleImmutableLinkedListNode<T> {
elem: T;
previous: SingleImmutableLinkedListNode<T> | undefined;
}
declare class SingleImmutableLinkedList<T> implements Iterable<T> {
readonly last: SingleImmutableLinkedListNode<T>;
constructor(last: SingleImmutableLinkedListNode<T>);
concat(elem: T): SingleImmutableLinkedList<T>;
[Symbol.iterator](): Iterator<T>;
}
interface InternalBindingConstraints {
getAncestorsCalled: boolean;
readonly name: MetadataName | undefined;
readonly tags: Map<MetadataTag, unknown>;
readonly serviceIdentifier: ServiceIdentifier;
}
interface GetPlanOptionsTagConstraint {
key: MetadataTag;
value: unknown;
}
interface BaseGetPlanOptions {
serviceIdentifier: ServiceIdentifier;
name: MetadataName | undefined;
optional: boolean;
tag: GetPlanOptionsTagConstraint | undefined;
}
interface GetMultipleServicePlanOptions extends BaseGetPlanOptions {
chained: boolean;
isMultiple: true;
}
interface GetSingleServicePlanOptions extends BaseGetPlanOptions {
isMultiple: false;
}
type GetPlanOptions = GetSingleServicePlanOptions | GetMultipleServicePlanOptions;
interface NonCachedServiceNodeContext {
bindingConstraintsList: SingleImmutableLinkedList<InternalBindingConstraints>;
chainedBindings: boolean;
optionalBindings: boolean;
}
interface BaseBindingNode<TBinding extends Binding<any> = Binding<any>> {
readonly binding: TBinding;
}
type LeafBindingNode<TActivated = any> = BaseBindingNode<ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never)>;
interface InstanceBindingNode<TBinding extends InstanceBinding<any> = InstanceBinding<any>> extends BaseBindingNode<TBinding> {
readonly classMetadata: ClassMetadata;
readonly constructorParams: (PlanServiceNode | undefined)[];
readonly propertyParams: Map<string | symbol, PlanServiceNode>;
}
interface ResolvedValueBindingNode<TBinding extends ResolvedValueBinding<any> = ResolvedValueBinding<any>> extends BaseBindingNode<TBinding> {
readonly params: PlanServiceNode[];
}
type PlanServiceNodeParent<TActivated = any> = InstanceBindingNode<InstanceBinding<TActivated>> | ResolvedValueBindingNode<ResolvedValueBinding<TActivated>>;
interface PlanServiceRedirectionBindingNode<TBinding extends ServiceRedirectionBinding<any> = ServiceRedirectionBinding<any>> extends BaseBindingNode<TBinding> {
redirections: PlanBindingNode[];
}
type PlanBindingNode = PlanServiceNodeParent | PlanServiceRedirectionBindingNode | LeafBindingNode;
interface PlanServiceNode {
bindings: PlanBindingNode | PlanBindingNode[] | undefined;
isContextFree: boolean;
readonly serviceIdentifier: ServiceIdentifier;
}
interface PlanTree {
readonly root: PlanServiceNode;
}
interface PlanResult {
readonly tree: PlanTree;
}
interface PlanParamsOperations {
getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
getBindingsChained: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Generator<Binding<TInstance>, void, unknown>;
readonly getClassMetadata: (type: Newable) => ClassMetadata;
readonly getPlan: (options: GetPlanOptions) => PlanResult | undefined;
setBinding: <TInstance>(binding: Binding<TInstance>) => void;
readonly setNonCachedServiceNode: (node: PlanServiceNode, context: NonCachedServiceNodeContext) => void;
readonly setPlan: (options: GetPlanOptions, planResult: PlanResult) => void;
}
interface BasePlanParams {
autobindOptions: AutobindOptions | undefined;
operations: PlanParamsOperations;
servicesBranch: ServiceIdentifier[];
}
interface PlanParamsTagConstraint {
key: MetadataTag;
value: unknown;
}
interface MultipleBindingPlanParamsConstraint {
chained: boolean;
name?: MetadataName;
isMultiple: true;
isOptional?: true;
serviceIdentifier: ServiceIdentifier;
tag?: PlanParamsTagConstraint;
}
interface SingleBindingPlanParamsConstraint {
name?: MetadataName;
isMultiple: false;
isOptional?: true;
serviceIdentifier: ServiceIdentifier;
tag?: PlanParamsTagConstraint;
}
type PlanParamsConstraint = SingleBindingPlanParamsConstraint | MultipleBindingPlanParamsConstraint;
interface PlanParams extends BasePlanParams {
rootConstraints: PlanParamsConstraint;
}
declare function plan(params: PlanParams): PlanResult;
declare enum CacheBindingInvalidationKind {
bindingAdded = "bindingAdded",
bindingRemoved = "bindingRemoved"
}
interface CacheBindingInvalidation {
binding: Binding<unknown>;
kind: CacheBindingInvalidationKind;
operations: PlanParamsOperations;
}
/**
* Service to cache plans.
*
* This class is used to cache plans and to notify PlanService subscribers when the cache is cleared.
* The cache should be cleared when a new binding is registered or when a binding is unregistered.
*
* Subscribers are supposed to be plan services from child containers.
*
* Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
*/
declare class PlanResultCacheService {
#private;
constructor();
clearCache(): void;
get(options: GetPlanOptions): PlanResult | undefined;
invalidateServiceBinding(invalidation: CacheBindingInvalidation): void;
set(options: GetPlanOptions, planResult: PlanResult): void;
setNonCachedServiceNode(node: PlanServiceNode, context: NonCachedServiceNodeContext): void;
subscribe(subscriber: PlanResultCacheService): void;
}
interface ResolutionParams {
context: ResolutionContext;
getActivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingActivation<TActivated>> | undefined;
planResult: PlanResult;
requestScopeCache: Map<number, unknown>;
}
declare function resolve(params: ResolutionParams): unknown;
interface DeactivationParams {
getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
getBindingsFromModule: <TInstance>(moduleId: number) => Iterable<Binding<TInstance>> | undefined;
getClassMetadata: (type: Newable) => ClassMetadata;
getDeactivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingDeactivation<TActivated>> | undefined;
}
declare function resolveBindingsDeactivations(params: DeactivationParams, bindings: Iterable<Binding> | undefined): void | Promise<void>;
declare function resolveModuleDeactivations(params: DeactivationParams, moduleId: number): void | Promise<void>;
declare function resolveServiceDeactivations(params: DeactivationParams, serviceIdentifier: ServiceIdentifier): void | Promise<void>;
interface GetAllOptions extends GetOptions {
chained?: boolean;
}
interface OptionalGetAllOptions extends GetAllOptions {
optional: true;
}
export { ActivationsService, BindingService, CacheBindingInvalidationKind, ClassElementMetadataKind, DeactivationsService, InversifyCoreError, InversifyCoreErrorKind, PlanResultCacheService, ResolvedValueElementMetadataKind, bindingScopeValues, bindingTypeValues, decorate, getBindingId, getClassMetadata, inject, injectFromBase, injectFromHierarchy, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveBindingsDeactivations, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
export type { AutobindOptions, BaseBinding, BaseBindingNode, BaseGetPlanOptions, BaseManagedClassElementMetadata, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingConstraints, BindingDeactivation, BindingDeactivationRelation, BindingScope, BindingType, CacheBindingInvalidation, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetAllOptions, GetMultipleServicePlanOptions, GetOptions, GetOptionsTagConstraint, GetPlanOptions, GetPlanOptionsTagConstraint, GetSingleServicePlanOptions, InjectFromBaseOptions, InjectFromBaseOptionsLifecycle, InjectFromHierarchyOptions, InjectFromHierarchyOptionsLifecycle, InjectFromOptions, InstanceBinding, InstanceBindingNode, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, MultiInjectOptions, MultipleBindingPlanParamsConstraint, MultipleInjectionManagedClassElementMetadata, MultipleInjectionResolvedValueElementMetadata, NonCachedServiceNodeContext, OptionalGetAllOptions, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsOperations, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ResolvedValueBinding, ResolvedValueBindingNode, ResolvedValueElementMetadata, ResolvedValueMetadata, ScopedBinding, ServiceRedirectionBinding, SingleBindingPlanParamsConstraint, SingleInjectionManagedClassElementMetadata, SingleInjectionResolvedValueElementMetadata, UnmanagedClassElementMetadata };
@@ -0,0 +1,47 @@
'use strict';
var $SyntaxError = require('es-errors/syntax');
var $TypeError = require('es-errors/type');
var IsArray = require('./IsArray');
var IsConstructor = require('./IsConstructor');
var ValidateTypedArray = require('./ValidateTypedArray');
var availableTypedArrays = require('available-typed-arrays')();
var typedArrayLength = require('typed-array-length');
// https://262.ecma-international.org/7.0/#typedarray-create
module.exports = function TypedArrayCreate(constructor, argumentList) {
if (!IsConstructor(constructor)) {
throw new $TypeError('Assertion failed: `constructor` must be a constructor');
}
if (!IsArray(argumentList)) {
throw new $TypeError('Assertion failed: `argumentList` must be a List');
}
if (availableTypedArrays.length === 0) {
throw new $SyntaxError('Assertion failed: Typed Arrays are not supported in this environment');
}
// var newTypedArray = Construct(constructor, argumentList); // step 1
var newTypedArray;
if (argumentList.length === 0) {
newTypedArray = new constructor();
} else if (argumentList.length === 1) {
newTypedArray = new constructor(argumentList[0]);
} else if (argumentList.length === 2) {
newTypedArray = new constructor(argumentList[0], argumentList[1]);
} else {
newTypedArray = new constructor(argumentList[0], argumentList[1], argumentList[2]);
}
ValidateTypedArray(newTypedArray); // step 2
if (argumentList.length === 1 && typeof argumentList[0] === 'number') { // step 3
if (typedArrayLength(newTypedArray) < argumentList[0]) {
throw new $TypeError('Assertion failed: `argumentList[0]` must be <= `newTypedArray.length`'); // step 3.a
}
}
return newTypedArray; // step 4
};
@@ -0,0 +1 @@
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],i):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_ro=i(e.dayjs)}(this,(function(e){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=i(e),_={name:"ro",weekdays:"Duminică_Luni_Marți_Miercuri_Joi_Vineri_Sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),months:"Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),monthsShort:"Ian._Febr._Mart._Apr._Mai_Iun._Iul._Aug._Sept._Oct._Nov._Dec.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"peste %s",past:"acum %s",s:"câteva secunde",m:"un minut",mm:"%d minute",h:"o oră",hh:"%d ore",d:"o zi",dd:"%d zile",M:"o lună",MM:"%d luni",y:"un an",yy:"%d ani"},ordinal:function(e){return e}};return t.default.locale(_,null,!0),_}));
@@ -0,0 +1,18 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./type"), exports);
@@ -0,0 +1,39 @@
# jsx-a11y/role-supports-aria-props
💼 This rule is enabled in the following configs: ☑️ `recommended`, 🔒 `strict`.
<!-- end auto-generated rule header -->
Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`. Many ARIA attributes (states and properties) can only be used on elements with particular roles. Some elements have implicit roles, such as `<a href="#" />`, which will resolve to `role="link"`.
## Rule details
This rule takes no arguments.
### Succeed
```jsx
<!-- Good: the radiogroup role does support the aria-required property -->
<ul role="radiogroup" aria-required aria-labelledby="foo">
<li tabIndex="-1" role="radio" aria-checked="false">Rainbow Trout</li>
<li tabIndex="-1" role="radio" aria-checked="false">Brook Trout</li>
<li tabIndex="0" role="radio" aria-checked="true">Lake Trout</li>
</ul>
```
### Fail
```jsx
<!-- Bad: the radio role does not support the aria-required property -->
<ul role="radiogroup" aria-labelledby="foo">
<li aria-required tabIndex="-1" role="radio" aria-checked="false">Rainbow Trout</li>
<li aria-required tabIndex="-1" role="radio" aria-checked="false">Brook Trout</li>
<li aria-required tabIndex="0" role="radio" aria-checked="true">Lake Trout</li>
</ul>
```
## Accessibility guidelines
- [WCAG 4.1.2](https://www.w3.org/WAI/WCAG21/Understanding/name-role-value)
### Resources
- [ARIA Spec, States and Properties](https://www.w3.org/TR/wai-aria/#states_and_properties)
- [Chrome Audit Rules, AX_ARIA_10](https://github.com/GoogleChrome/accessibility-developer-tools/wiki/Audit-Rules#ax_aria_10)
@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const reflection_helpers_1 = require("../reflection-helpers");
function injectWithTransform(token, transformer, ...args) {
return reflection_helpers_1.defineInjectionTokenMetadata(token, {
transformToken: transformer,
args: args
});
}
exports.default = injectWithTransform;
@@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var instance_caching_factory_1 = require("./instance-caching-factory");
Object.defineProperty(exports, "instanceCachingFactory", { enumerable: true, get: function () { return instance_caching_factory_1.default; } });
var instance_per_container_caching_factory_1 = require("./instance-per-container-caching-factory");
Object.defineProperty(exports, "instancePerContainerCachingFactory", { enumerable: true, get: function () { return instance_per_container_caching_factory_1.default; } });
var predicate_aware_class_factory_1 = require("./predicate-aware-class-factory");
Object.defineProperty(exports, "predicateAwareClassFactory", { enumerable: true, get: function () { return predicate_aware_class_factory_1.default; } });
@@ -0,0 +1,834 @@
export default `flf2a$ 8 6 14 15 16
DOOM by Frans P. de Vries <fpv@xymph.iaf.nl> 18 Jun 1996
based on Big by Glenn Chappell 4/93 -- based on Standard
figlet release 2.1 -- 12 Aug 1994
Permission is hereby given to modify this font, as long as the
modifier's name is placed on a comment line.
Explanation of first line:
flf2 - "magic number" for file identification
a - should always be \`a', for now
$ - the "hardblank" -- prints as a blank, but can't be smushed
8 - height of a character
6 - height of a character, not including descenders
14 - max line length (excluding comment lines) + a fudge factor
15 - default smushmode for this font
16 - number of comment lines
$@
$@
$@
$@
$@
$@
$@
$@@
_ @
| |@
| |@
| |@
|_|@
(_)@
@
@@
_ _ @
( | )@
V V @
$ @
$ @
$ @
@
@@
_ _ @
_| || |_ @
|_ __ _|@
_| || |_ @
|_ __ _|@
|_||_| @
@
@@
_ @
| | @
/ __)@
\\__ \\@
( /@
|_| @
@
@@
_ __@
(_) / /@
/ / @
/ / @
/ / _ @
/_/ (_)@
@
@@
@
___ @
( _ ) @
/ _ \\/\\@
| (_> <@
\\___/\\/@
@
@@
_ @
( )@
|/ @
$ @
$ @
$ @
@
@@
__@
/ /@
| | @
| | @
| | @
| | @
\\_\\@
@@
__ @
\\ \\ @
| |@
| |@
| |@
| |@
/_/ @
@@
_ @
/\\| |/\\ @
\\ \` ' / @
|_ _|@
/ , . \\ @
\\/|_|\\/ @
@
@@
@
_ @
_| |_ @
|_ _|@
|_| @
$ @
@
@@
@
@
@
@
_ @
( )@
|/ @
@@
@
@
______ @
|______|@
$ @
$ @
@
@@
@
@
@
@
_ @
(_)@
@
@@
__@
/ /@
/ / @
/ / @
/ / @
/_/ @
@
@@
_____ @
| _ |@
| |/' |@
| /| |@
\\ |_/ /@
\\___/ @
@
@@
__ @
/ | @
\`| | @
| | @
_| |_@
\\___/@
@
@@
_____ @
/ __ \\@
\`' / /'@
/ / @
./ /___@
\\_____/@
@
@@
_____ @
|____ |@
/ /@
$ \\ \\@
.___/ /@
\\____/ @
@
@@
___ @
/ |@
/ /| |@
/ /_| |@
\\___ |@
|_/@
@
@@
_____ @
| ___|@
|___ \\ @
\\ \\@
/\\__/ /@
\\____/ @
@
@@
____ @
/ ___|@
/ /___ @
| ___ \\@
| \\_/ |@
\\_____/@
@
@@
______@
|___ /@
$/ / @
/ / @
./ / @
\\_/ @
@
@@
_____ @
| _ |@
\\ V / @
/ _ \\ @
| |_| |@
\\_____/@
@
@@
_____ @
| _ |@
| |_| |@
\\____ |@
.___/ /@
\\____/ @
@
@@
@
_ @
(_)@
$ @
_ @
(_)@
@
@@
@
_ @
(_)@
$ @
_ @
( )@
|/ @
@@
__@
/ /@
/ / @
< < @
\\ \\ @
\\_\\@
@
@@
@
______ @
|______|@
______ @
|______|@
@
@
@@
__ @
\\ \\ @
\\ \\ @
> >@
/ / @
/_/ @
@
@@
___ @
|__ \\ @
) |@
/ / @
|_| @
(_) @
@
@@
@
____ @
/ __ \\ @
/ / _\` |@
| | (_| |@
\\ \\__,_|@
\\____/ @
@@
___ @
/ _ \\ @
/ /_\\ \\@
| _ |@
| | | |@
\\_| |_/@
@
@@
______ @
| ___ \\@
| |_/ /@
| ___ \\@
| |_/ /@
\\____/ @
@
@@
_____ @
/ __ \\@
| / \\/@
| | @
| \\__/\\@
\\____/@
@
@@
______ @
| _ \\@
| | | |@
| | | |@
| |/ / @
|___/ @
@
@@
_____ @
| ___|@
| |__ @
| __| @
| |___ @
\\____/ @
@
@@
______ @
| ___|@
| |_ @
| _| @
| | @
\\_| @
@
@@
_____ @
| __ \\@
| | \\/@
| | __ @
| |_\\ \\@
\\____/@
@
@@
_ _ @
| | | |@
| |_| |@
| _ |@
| | | |@
\\_| |_/@
@
@@
_____ @
|_ _|@
| | @
| | @
_| |_ @
\\___/ @
@
@@
___ @
|_ |@
$ | |@
| |@
/\\__/ /@
\\____/ @
@
@@
_ __@
| | / /@
| |/ / @
| \\ @
| |\\ \\@
\\_| \\_/@
@
@@
_ @
| | $ @
| | $ @
| | @
| |____@
\\_____/@
@
@@
___ ___@
| \\/ |@
| . . |@
| |\\/| |@
| | | |@
\\_| |_/@
@
@@
_ _ @
| \\ | |@
| \\| |@
| . \` |@
| |\\ |@
\\_| \\_/@
@
@@
_____ @
| _ |@
| | | |@
| | | |@
\\ \\_/ /@
\\___/ @
@
@@
______ @
| ___ \\@
| |_/ /@
| __/ @
| | @
\\_| @
@
@@
_____ @
| _ |@
| | | |@
| | | |@
\\ \\/' /@
\\_/\\_\\@
@
@@
______ @
| ___ \\@
| |_/ /@
| / @
| |\\ \\ @
\\_| \\_|@
@
@@
_____ @
/ ___|@
\\ \`--. @
\`--. \\@
/\\__/ /@
\\____/ @
@
@@
_____ @
|_ _|@
| | @
| | @
| | @
\\_/ @
@
@@
_ _ @
| | | |@
| | | |@
| | | |@
| |_| |@
\\___/ @
@
@@
_ _ @
| | | |@
| | | |@
| | | |@
\\ \\_/ /@
\\___/ @
@
@@
_ _ @
| | | |@
| | | |@
| |/\\| |@
\\ /\\ /@
\\/ \\/ @
@
@@
__ __@
\\ \\ / /@
\\ V / @
/ \\ @
/ /^\\ \\@
\\/ \\/@
@
@@
__ __@
\\ \\ / /@
\\ V / @
\\ / @
| | @
\\_/ @
@
@@
______@
|___ /@
$/ / @
/ / @
./ /___@
\\_____/@
@
@@
___ @
| _|@
| | @
| | @
| | @
| |_ @
|___|@
@@
__ @
\\ \\ @
\\ \\ @
\\ \\ @
\\ \\ @
\\_\\@
@
@@
___ @
|_ |@
| |@
| |@
| |@
_| |@
|___|@
@@
/\\ @
|/\\|@
$ @
$ @
$ @
$ @
@
@@
@
@
@
@
@
$ @
______ @
|______|@@
_ @
( )@
\\|@
$ @
$ @
$ @
@
@@
@
@
__ _ @
/ _\` |@
| (_| |@
\\__,_|@
@
@@
_ @
| | @
| |__ @
| '_ \\ @
| |_) |@
|_.__/ @
@
@@
@
@
___ @
/ __|@
| (__ @
\\___|@
@
@@
_ @
| |@
__| |@
/ _\` |@
| (_| |@
\\__,_|@
@
@@
@
@
___ @
/ _ \\@
| __/@
\\___|@
@
@@
__ @
/ _|@
| |_ @
| _|@
| | @
|_| @
@
@@
@
@
__ _ @
/ _\` |@
| (_| |@
\\__, |@
__/ |@
|___/ @@
_ @
| | @
| |__ @
| '_ \\ @
| | | |@
|_| |_|@
@
@@
_ @
(_)@
_ @
| |@
| |@
|_|@
@
@@
_ @
(_)@
_ @
| |@
| |@
| |@
_/ |@
|__/ @@
_ @
| | @
| | __@
| |/ /@
| < @
|_|\\_\\@
@
@@
_ @
| |@
| |@
| |@
| |@
|_|@
@
@@
@
@
_ __ ___ @
| '_ \` _ \\ @
| | | | | |@
|_| |_| |_|@
@
@@
@
@
_ __ @
| '_ \\ @
| | | |@
|_| |_|@
@
@@
@
@
___ @
/ _ \\ @
| (_) |@
\\___/ @
@
@@
@
@
_ __ @
| '_ \\ @
| |_) |@
| .__/ @
| | @
|_| @@
@
@
__ _ @
/ _\` |@
| (_| |@
\\__, |@
| |@
|_|@@
@
@
_ __ @
| '__|@
| | @
|_| @
@
@@
@
@
___ @
/ __|@
\\__ \\@
|___/@
@
@@
_ @
| | @
| |_ @
| __|@
| |_ @
\\__|@
@
@@
@
@
_ _ @
| | | |@
| |_| |@
\\__,_|@
@
@@
@
@
__ __@
\\ \\ / /@
\\ V / @
\\_/ @
@
@@
@
@
__ __@
\\ \\ /\\ / /@
\\ V V / @
\\_/\\_/ @
@
@@
@
@
__ __@
\\ \\/ /@
> < @
/_/\\_\\@
@
@@
@
@
_ _ @
| | | |@
| |_| |@
\\__, |@
__/ |@
|___/ @@
@
@
____@
|_ /@
/ / @
/___|@
@
@@
__@
/ /@
| | @
/ / @
\\ \\ @
| | @
\\_\\@
@@
_ @
| |@
| |@
| |@
| |@
| |@
| |@
|_|@@
__ @
\\ \\ @
| | @
\\ \\@
/ /@
| | @
/_/ @
@@
/\\/|@
|/\\/ @
$ @
$ @
$ @
$ @
@
@@
_ _ @
(_)_(_)@
/ _ \\ @
/ /_\\ \\@
| _ |@
\\_| |_/@
@
@@
_ _ @
(_)_(_)@
| _ |@
| | | |@
\\ \\_/ /@
\\___/ @
@
@@
_ _ @
(_) (_)@
| | | |@
| | | |@
| |_| |@
\\___/ @
@
@@
_ _ @
(_) (_)@
__ _ @
/ _\` |@
| (_| |@
\\__,_|@
@
@@
_ _ @
(_) (_)@
___ @
/ _ \\ @
| (_) |@
\\___/ @
@
@@
_ _ @
(_) (_)@
_ _ @
| | | |@
| |_| |@
\\__,_|@
@
@@
___ @
/ _ \\ @
| | ) |@
| |< < @
| | ) |@
| ||_/ @
\\_| @
@@
`
@@ -0,0 +1,42 @@
declare namespace pLimit {
interface Limit {
/**
The number of promises that are currently running.
*/
readonly activeCount: number;
/**
The number of promises that are waiting to run (i.e. their internal `fn` was not called yet).
*/
readonly pendingCount: number;
/**
Discard pending promises that are waiting to run.
This might be useful if you want to teardown the queue at the end of your program's lifecycle or discard any function calls referencing an intermediary state of your app.
Note: This does not cancel promises that are already running.
*/
clearQueue: () => void;
/**
@param fn - Promise-returning/async function.
@param arguments - Any arguments to pass through to `fn`. Support for passing arguments on to the `fn` is provided in order to be able to avoid creating unnecessary closures. You probably don't need this optimization unless you're pushing a lot of functions.
@returns The promise returned by calling `fn(...arguments)`.
*/
<Arguments extends unknown[], ReturnType>(
fn: (...arguments: Arguments) => PromiseLike<ReturnType> | ReturnType,
...arguments: Arguments
): Promise<ReturnType>;
}
}
/**
Run multiple promise-returning & async functions with limited concurrency.
@param concurrency - Concurrency limit. Minimum: `1`.
@returns A `limit` function.
*/
declare function pLimit(concurrency: number): pLimit.Limit;
export = pLimit;
@@ -0,0 +1,17 @@
'use strict';
var RequireObjectCoercible = require('es-object-atoms/RequireObjectCoercible');
var callBound = require('call-bound');
var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
module.exports = function values(O) {
var obj = RequireObjectCoercible(O);
var vals = [];
for (var key in obj) {
if ($isEnumerable(obj, key)) { // checks own-ness as well
vals[vals.length] = obj[key];
}
}
return vals;
};
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"K D E F A B wC"},B:{"1":"0 1 2 3 4 5 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 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 sB tB uB vB wB xB yB zB 0B 1B 2B 3B UC 4B VC 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC Q H R WC 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 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB I XC MC YC yC zC","2":"6 7 8 9 xC TC J ZB K D E F A B C L M G N O P aB AB BB CB DB EB FB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB 0C 1C"},D:{"1":"0 1 2 3 4 5 uB vB wB xB yB zB 0B 1B 2B 3B UC 4B VC 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC 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 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB I XC MC YC","2":"6 7 8 9 J ZB K D E F A B C L M G N O P aB AB BB CB DB EB FB bB cB dB","129":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB"},E:{"1":"C L M G NC OC 7C 8C 9C bC cC PC AD QC dC eC fC gC hC BD RC iC jC kC lC mC CD SC nC oC pC qC rC sC tC DD ED","2":"J ZB K D E F A B 2C ZC 3C 4C 5C 6C aC"},F:{"1":"0 1 2 3 4 5 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 EC FC GC HC IC JC KC LC Q H R WC 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":"6 7 8 9 F B C G N O P aB AB BB CB DB EB FB bB cB dB eB fB gB FD GD HD ID NC uC JD OC"},G:{"1":"TD UD VD WD XD YD ZD aD bD cD dD bC cC PC eD QC dC eC fC gC hC fD RC iC jC kC lC mC gD SC nC oC pC qC rC sC tC","2":"E ZC KD vC LD MD ND OD PD QD RD SD"},H:{"2":"hD"},I:{"1":"I","2":"TC J iD jD kD lD vC mD","16":"nD"},J:{"2":"D A"},K:{"1":"H","2":"A B C NC uC OC"},L:{"1":"I"},M:{"1":"MC"},N:{"2":"A B"},O:{"1":"PC"},P:{"1":"6 7 8 9 J AB BB CB DB EB FB oD pD qD rD sD aC tD uD vD wD xD QC RC SC yD"},Q:{"1":"zD"},R:{"1":"0D"},S:{"1":"1D 2D"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS",D:true};
@@ -0,0 +1,335 @@
export default `flf2a$ 3 3 5 -1 23
Expansion font for bigfig program by Glenn Chappell 4/93 -- based on Mini
26 Apr 1995
Permission is hereby given to modify this font, as long as the
modifier's name is placed on a comment line.
This font is intended to be used with the "bigfig" program. It can
be used as an ordinary figlet font, but it won't look very nice.
"bigfig" is available by anonymous ftp from "ftp.nicoh.com". Look in
the directory "pub/figlet/util".
Or, if you'd rather not use the bigfig program, just type
figlet -w27 -f myfavoritefont | figlet -f bigfig
Explanation of first line:
flf2 - "magic number" for file identification
a - should always be \`a', for now
$ - the "hardblank" -- prints as a blank, but can't be smushed
3 - height of a character
3 - height of a character, not including descenders
5 - max line length (excluding comment lines) + a fudge factor
-1 - default smushmode for this font
23 - number of comment lines
$ @
$ @
$ @@
| @
| @
o @@
| |@
$ @
$ @@
| |@
===@
| |@@
_@
(| @
_|)@@
O /@
/ @
/ O@@
() @
/\\/@
\\/\\@@
/ @
$ @
$ @@
/@
( @
\\@@
\\ @
) @
/ @@
\\|/@
-*-@
/|\\@@
| @
-+-@
| @@
@
@
/ @@
@
---@
$ @@
@
@
o @@
/@
/ @
/ @@
_ @
/ \\@
\\_/@@
@
/| @
| @@
__ @
_)@
/__@@
__ @
__)@
__)@@
@
|_|@
|@@
__@
|_ @
__)@@
_ @
|_ @
|_)@@
__@
/@
/ @@
_ @
(_)@
(_)@@
_ @
(_|@
_|@@
o @
$ @
o @@
o @
$ @
/ @@
/@
< @
\\@@
___@
___@
$ @@
\\ @
> @
/ @@
_ @
)@
o @@
_ @
/a)@
\\__@@
_ @
|_|@
| |@@
_ @
|_)@
|_)@@
__@
/ @
\\__@@
_ @
| \\@
|_/@@
__@
|_ @
|__@@
__@
|_ @
| @@
__@
/__@
\\_|@@
@
|_|@
| |@@
___@
| @
_|_@@
@
|@
\\_|@@
@
|/ @
|\\ @@
@
| @
|__@@
@
|V|@
| |@@
@
|\\|@
| |@@
_ @
/ \\@
\\_/@@
_ @
|_)@
| @@
_ @
/ \\@
\\_X@@
_ @
|_)@
| \\@@
__@
(_ @
__)@@
___@
| @
| @@
@
| |@
|_|@@
\\ /@
V @
@@
@
| |@
|^|@@
\\ /@
X @
/ \\@@
\\ /@
Y @
| @@
___@
_/@
/__@@
+--@
| @
|__@@
\\ @
\\ @
\\@@
--+@
|@
__|@@
_ @
/ \\@
$ @@
$ @
$ @
___@@
\\ @
$ @
$ @@
@
_ @
(_|@@
@
|_ @
|_)@@
@
_ @
(_ @@
@
_|@
(_|@@
@
_ @
(/_@@
_@
_|_@
| @@
_ @
(_|@
__|@@
@
|_ @
| |@@
@
o @
| @@
o @
| @
_| @@
@
| @
|<@@
@
| @
| @@
@
__ @
|||@@
@
__ @
| |@@
@
_ @
(_)@@
_ @
|_)@
| @@
_ @
(_|@
|@@
@
__@
| @@
@
_ @
_> @@
@
_|_@
|_@@
@
@
|_|@@
@
@
\\_/@@
@
@
\\^/@@
@
@
>< @@
@
\\/@
/ @@
@
_ @
/_@@
/@
-( @
\\@@
| @
| @
| @@
\\ @
)-@
/ @@
/\\/@
$ @
$ @@
o_o@
|_|@
| |@@
o_o@
/ \\@
\\_/@@
o o@
| |@
|_|@@
@
o_o@
(_|@@
@
o_o@
(_)@@
@
o o@
|_|@@
_ @
| )@
| )@@
0
XXX@
XXX@
XXX@@
`
@@ -0,0 +1,22 @@
/*
* Copyright 2020 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
import {CheckboxGroupState} from '@react-stately/checkbox';
interface CheckboxGroupData {
name?: string,
descriptionId?: string,
errorMessageId?: string,
validationBehavior: 'aria' | 'native'
}
export const checkboxGroupData = new WeakMap<CheckboxGroupState, CheckboxGroupData>();
@@ -0,0 +1,225 @@
import {gridMap as $1af922eb41e03c8f$export$e6235c0d09b995d0} from "./utils.mjs";
import {focusSafely as $j4Qbl$focusSafely, isFocusVisible as $j4Qbl$isFocusVisible} from "@react-aria/interactions";
import {getFocusableTreeWalker as $j4Qbl$getFocusableTreeWalker} from "@react-aria/focus";
import {scrollIntoViewport as $j4Qbl$scrollIntoViewport, getScrollParent as $j4Qbl$getScrollParent, mergeProps as $j4Qbl$mergeProps} from "@react-aria/utils";
import {useRef as $j4Qbl$useRef} from "react";
import {useLocale as $j4Qbl$useLocale} from "@react-aria/i18n";
import {useSelectableItem as $j4Qbl$useSelectableItem} from "@react-aria/selection";
/*
* Copyright 2020 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
function $ab90dcbc1b5466d0$export$c7e10bfc0c59f67c(props, state, ref) {
let { node: node, isVirtualized: isVirtualized, focusMode: focusMode = 'child', shouldSelectOnPressUp: shouldSelectOnPressUp, onAction: onAction } = props;
let { direction: direction } = (0, $j4Qbl$useLocale)();
let { keyboardDelegate: keyboardDelegate, actions: { onCellAction: onCellAction } } = (0, $1af922eb41e03c8f$export$e6235c0d09b995d0).get(state);
// We need to track the key of the item at the time it was last focused so that we force
// focus to go to the item when the DOM node is reused for a different item in a virtualizer.
let keyWhenFocused = (0, $j4Qbl$useRef)(null);
// Handles focusing the cell. If there is a focusable child,
// it is focused, otherwise the cell itself is focused.
let focus = ()=>{
if (ref.current) {
let treeWalker = (0, $j4Qbl$getFocusableTreeWalker)(ref.current);
if (focusMode === 'child') {
// If focus is already on a focusable child within the cell, early return so we don't shift focus
if (ref.current.contains(document.activeElement) && ref.current !== document.activeElement) return;
let focusable = state.selectionManager.childFocusStrategy === 'last' ? $ab90dcbc1b5466d0$var$last(treeWalker) : treeWalker.firstChild();
if (focusable) {
(0, $j4Qbl$focusSafely)(focusable);
return;
}
}
if (keyWhenFocused.current != null && node.key !== keyWhenFocused.current || !ref.current.contains(document.activeElement)) (0, $j4Qbl$focusSafely)(ref.current);
}
};
let { itemProps: itemProps, isPressed: isPressed } = (0, $j4Qbl$useSelectableItem)({
selectionManager: state.selectionManager,
key: node.key,
ref: ref,
isVirtualized: isVirtualized,
focus: focus,
shouldSelectOnPressUp: shouldSelectOnPressUp,
onAction: onCellAction ? ()=>onCellAction(node.key) : onAction,
isDisabled: state.collection.size === 0
});
let onKeyDownCapture = (e)=>{
if (!e.currentTarget.contains(e.target) || state.isKeyboardNavigationDisabled || !ref.current || !document.activeElement) return;
let walker = (0, $j4Qbl$getFocusableTreeWalker)(ref.current);
walker.currentNode = document.activeElement;
switch(e.key){
case 'ArrowLeft':
{
// Find the next focusable element within the cell.
let focusable = direction === 'rtl' ? walker.nextNode() : walker.previousNode();
// Don't focus the cell itself if focusMode is "child"
if (focusMode === 'child' && focusable === ref.current) focusable = null;
e.preventDefault();
e.stopPropagation();
if (focusable) {
(0, $j4Qbl$focusSafely)(focusable);
(0, $j4Qbl$scrollIntoViewport)(focusable, {
containingElement: (0, $j4Qbl$getScrollParent)(ref.current)
});
} else {
var _keyboardDelegate_getKeyLeftOf;
// If there is no next focusable child, then move to the next cell to the left of this one.
// This will be handled by useSelectableCollection. However, if there is no cell to the left
// of this one, only one column, and the grid doesn't focus rows, then the next key will be the
// same as this one. In that case we need to handle focusing either the cell or the first/last
// child, depending on the focus mode.
let prev = (_keyboardDelegate_getKeyLeftOf = keyboardDelegate.getKeyLeftOf) === null || _keyboardDelegate_getKeyLeftOf === void 0 ? void 0 : _keyboardDelegate_getKeyLeftOf.call(keyboardDelegate, node.key);
if (prev !== node.key) {
var // We prevent the capturing event from reaching children of the cell, e.g. pickers.
// We want arrow keys to navigate to the next cell instead. We need to re-dispatch
// the event from a higher parent so it still bubbles and gets handled by useSelectableCollection.
_ref_current_parentElement;
(_ref_current_parentElement = ref.current.parentElement) === null || _ref_current_parentElement === void 0 ? void 0 : _ref_current_parentElement.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));
break;
}
if (focusMode === 'cell' && direction === 'rtl') {
(0, $j4Qbl$focusSafely)(ref.current);
(0, $j4Qbl$scrollIntoViewport)(ref.current, {
containingElement: (0, $j4Qbl$getScrollParent)(ref.current)
});
} else {
walker.currentNode = ref.current;
focusable = direction === 'rtl' ? walker.firstChild() : $ab90dcbc1b5466d0$var$last(walker);
if (focusable) {
(0, $j4Qbl$focusSafely)(focusable);
(0, $j4Qbl$scrollIntoViewport)(focusable, {
containingElement: (0, $j4Qbl$getScrollParent)(ref.current)
});
}
}
}
break;
}
case 'ArrowRight':
{
let focusable = direction === 'rtl' ? walker.previousNode() : walker.nextNode();
if (focusMode === 'child' && focusable === ref.current) focusable = null;
e.preventDefault();
e.stopPropagation();
if (focusable) {
(0, $j4Qbl$focusSafely)(focusable);
(0, $j4Qbl$scrollIntoViewport)(focusable, {
containingElement: (0, $j4Qbl$getScrollParent)(ref.current)
});
} else {
var _keyboardDelegate_getKeyRightOf;
let next = (_keyboardDelegate_getKeyRightOf = keyboardDelegate.getKeyRightOf) === null || _keyboardDelegate_getKeyRightOf === void 0 ? void 0 : _keyboardDelegate_getKeyRightOf.call(keyboardDelegate, node.key);
if (next !== node.key) {
var // We prevent the capturing event from reaching children of the cell, e.g. pickers.
// We want arrow keys to navigate to the next cell instead. We need to re-dispatch
// the event from a higher parent so it still bubbles and gets handled by useSelectableCollection.
_ref_current_parentElement1;
(_ref_current_parentElement1 = ref.current.parentElement) === null || _ref_current_parentElement1 === void 0 ? void 0 : _ref_current_parentElement1.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));
break;
}
if (focusMode === 'cell' && direction === 'ltr') {
(0, $j4Qbl$focusSafely)(ref.current);
(0, $j4Qbl$scrollIntoViewport)(ref.current, {
containingElement: (0, $j4Qbl$getScrollParent)(ref.current)
});
} else {
walker.currentNode = ref.current;
focusable = direction === 'rtl' ? $ab90dcbc1b5466d0$var$last(walker) : walker.firstChild();
if (focusable) {
(0, $j4Qbl$focusSafely)(focusable);
(0, $j4Qbl$scrollIntoViewport)(focusable, {
containingElement: (0, $j4Qbl$getScrollParent)(ref.current)
});
}
}
}
break;
}
case 'ArrowUp':
case 'ArrowDown':
// Prevent this event from reaching cell children, e.g. menu buttons. We want arrow keys to navigate
// to the cell above/below instead. We need to re-dispatch the event from a higher parent so it still
// bubbles and gets handled by useSelectableCollection.
if (!e.altKey && ref.current.contains(e.target)) {
var _ref_current_parentElement2;
e.stopPropagation();
e.preventDefault();
(_ref_current_parentElement2 = ref.current.parentElement) === null || _ref_current_parentElement2 === void 0 ? void 0 : _ref_current_parentElement2.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));
}
break;
}
};
// Grid cells can have focusable elements inside them. In this case, focus should
// be marshalled to that element rather than focusing the cell itself.
let onFocus = (e)=>{
keyWhenFocused.current = node.key;
if (e.target !== ref.current) {
// useSelectableItem only handles setting the focused key when
// the focused element is the gridcell itself. We also want to
// set the focused key when a child element receives focus.
// If focus is currently visible (e.g. the user is navigating with the keyboard),
// then skip this. We want to restore focus to the previously focused row/cell
// in that case since the table should act like a single tab stop.
if (!(0, $j4Qbl$isFocusVisible)()) state.selectionManager.setFocusedKey(node.key);
return;
}
// If the cell itself is focused, wait a frame so that focus finishes propagatating
// up to the tree, and move focus to a focusable child if possible.
requestAnimationFrame(()=>{
if (focusMode === 'child' && document.activeElement === ref.current) focus();
});
};
let gridCellProps = (0, $j4Qbl$mergeProps)(itemProps, {
role: 'gridcell',
onKeyDownCapture: onKeyDownCapture,
'aria-colspan': node.colSpan,
'aria-colindex': node.colIndex != null ? node.colIndex + 1 : undefined,
colSpan: isVirtualized ? undefined : node.colSpan,
onFocus: onFocus
});
var _node_colIndex;
if (isVirtualized) gridCellProps['aria-colindex'] = ((_node_colIndex = node.colIndex) !== null && _node_colIndex !== void 0 ? _node_colIndex : node.index) + 1; // aria-colindex is 1-based
// When pressing with a pointer and cell selection is not enabled, usePress will be applied to the
// row rather than the cell. However, when the row is draggable, usePress cannot preventDefault
// on pointer down, so the browser will try to focus the cell which has a tabIndex applied.
// To avoid this, remove the tabIndex from the cell briefly on pointer down.
if (shouldSelectOnPressUp && gridCellProps.tabIndex != null && gridCellProps.onPointerDown == null) gridCellProps.onPointerDown = (e)=>{
let el = e.currentTarget;
let tabindex = el.getAttribute('tabindex');
el.removeAttribute('tabindex');
requestAnimationFrame(()=>{
if (tabindex != null) el.setAttribute('tabindex', tabindex);
});
};
return {
gridCellProps: gridCellProps,
isPressed: isPressed
};
}
function $ab90dcbc1b5466d0$var$last(walker) {
let next = null;
let last = null;
do {
last = walker.lastChild();
if (last) next = last;
}while (last);
return next;
}
export {$ab90dcbc1b5466d0$export$c7e10bfc0c59f67c as useGridCell};
//# sourceMappingURL=useGridCell.module.js.map
@@ -0,0 +1,14 @@
var RecipientInfos_1;
import { __decorate } from "tslib";
import { AsnArray, AsnType, AsnTypeTypes } from "@peculiar/asn1-schema";
import { RecipientInfo } from "./recipient_info";
let RecipientInfos = RecipientInfos_1 = class RecipientInfos extends AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, RecipientInfos_1.prototype);
}
};
RecipientInfos = RecipientInfos_1 = __decorate([
AsnType({ type: AsnTypeTypes.Set, itemType: RecipientInfo })
], RecipientInfos);
export { RecipientInfos };
@@ -0,0 +1,9 @@
export { frame, frameData, mix, recordStats, statsBuffer } from 'motion-dom';
export { calcBoxDelta } from './projection/geometry/delta-calc.mjs';
export { nodeGroup } from './projection/node/group.mjs';
export { HTMLProjectionNode } from './projection/node/HTMLProjectionNode.mjs';
export { correctBorderRadius } from './projection/styles/scale-border-radius.mjs';
export { correctBoxShadow } from './projection/styles/scale-box-shadow.mjs';
export { addScaleCorrector } from './projection/styles/scale-correction.mjs';
export { HTMLVisualElement } from './render/html/HTMLVisualElement.mjs';
export { buildTransform } from './render/html/utils/build-transform.mjs';
@@ -0,0 +1,141 @@
/**
* @fileoverview Forbid using another component's propTypes
* @author Ian Christian Myers
*/
'use strict';
const docsUrl = require('../util/docsUrl');
const ast = require('../util/ast');
const report = require('../util/report');
const messages = {
forbiddenPropType: 'Using propTypes from another component is not safe because they may be removed in production builds',
};
/** @type {import('eslint').Rule.RuleModule} */
module.exports = {
meta: {
docs: {
description: 'Disallow using another component\'s propTypes',
category: 'Best Practices',
recommended: false,
url: docsUrl('forbid-foreign-prop-types'),
},
messages,
schema: [
{
type: 'object',
properties: {
allowInPropTypes: {
type: 'boolean',
},
},
additionalProperties: false,
},
],
},
create(context) {
const config = context.options[0] || {};
const allowInPropTypes = config.allowInPropTypes || false;
// --------------------------------------------------------------------------
// Helpers
// --------------------------------------------------------------------------
function findParentAssignmentExpression(node) {
let parent = node.parent;
while (parent && parent.type !== 'Program') {
if (parent.type === 'AssignmentExpression') {
return parent;
}
parent = parent.parent;
}
return null;
}
function findParentClassProperty(node) {
let parent = node.parent;
while (parent && parent.type !== 'Program') {
if (parent.type === 'ClassProperty' || parent.type === 'PropertyDefinition') {
return parent;
}
parent = parent.parent;
}
return null;
}
function isAllowedAssignment(node) {
if (!allowInPropTypes) {
return false;
}
const assignmentExpression = findParentAssignmentExpression(node);
if (
assignmentExpression
&& assignmentExpression.left
&& assignmentExpression.left.property
&& assignmentExpression.left.property.name === 'propTypes'
) {
return true;
}
const classProperty = findParentClassProperty(node);
if (
classProperty
&& classProperty.key
&& classProperty.key.name === 'propTypes'
) {
return true;
}
return false;
}
return {
MemberExpression(node) {
if (
(node.property
&& (
!node.computed
&& node.property.type === 'Identifier'
&& node.property.name === 'propTypes'
&& !ast.isAssignmentLHS(node)
&& !isAllowedAssignment(node)
)) || (
// @ts-expect-error: The JSXText type is not present in the estree type definitions
(node.property.type === 'Literal' || node.property.type === 'JSXText')
&& 'value' in node.property
&& node.property.value === 'propTypes'
&& !ast.isAssignmentLHS(node)
&& !isAllowedAssignment(node)
)
) {
report(context, messages.forbiddenPropType, 'forbiddenPropType', {
node: node.property,
});
}
},
ObjectPattern(node) {
const propTypesNode = node.properties.find((property) => (
property.type === 'Property'
&& 'name' in property.key
&& property.key.name === 'propTypes'
));
if (propTypesNode) {
report(context, messages.forbiddenPropType, 'forbiddenPropType', {
node: propTypesNode,
});
}
},
};
},
};
@@ -0,0 +1,21 @@
import { MotionValueState } from '../MotionValueState.mjs';
function createEffect(addValue) {
const stateCache = new WeakMap();
const subscriptions = [];
return (subject, values) => {
const state = stateCache.get(subject) ?? new MotionValueState();
stateCache.set(subject, state);
for (const key in values) {
const value = values[key];
const remove = addValue(subject, state, key, value);
subscriptions.push(remove);
}
return () => {
for (const cancel of subscriptions)
cancel();
};
};
}
export { createEffect };
@@ -0,0 +1 @@
{"name":"@heroui/use-measure","version":"2.1.8","requiresBuild":false,"files":{"dist/index.js":{"checkedAt":1794532106609,"integrity":"sha512-62ek2G05p7UwgbGy7v/bqBG7Gg2epNr3RC+OI0pz8z8vNPpvg6SM/lGtkklGVz8D231jvAxvlcGc/KgpBm9M9w==","mode":420,"size":1912},"package.json":{"checkedAt":1794532106610,"integrity":"sha512-TNgOm8HB06s1PWwyJypA99pTYWcTiZR5QtHiJR/JuKXYd7KG2uJ8DkJD1NYIjQOJuN0xTyKU6ccNhuZkVNsYeg==","mode":420,"size":1274},"README.md":{"checkedAt":1794532106610,"integrity":"sha512-+XEzHLYcb1fead7Gr66wW6wdVZj7CmA/KppoWe4aUJ/VYbYMFtRpqj7hAs+A0vNRKiHReXvAOnJ7trn8n7Wtww==","mode":420,"size":488},"dist/index.mjs":{"checkedAt":1794532106610,"integrity":"sha512-YEHkO7K/dikStFhMLMRM+5Y5z23V8Y6s1r8pAumKjzWYXw1gkHYfBilC06zLgl+FhqXbM3c2tctIfi6fLyWAQQ==","mode":420,"size":866},"dist/index.d.mts":{"checkedAt":1794532106610,"integrity":"sha512-pgYBcmJHeCeHkKlvaV3sKhqTx4UUpMfWr/YZ7rpafAy0TJ4K2TTx5+Bxp65pzXrDQ5h3txfqtx1BhxkdYtoVJg==","mode":420,"size":430},"dist/index.d.ts":{"checkedAt":1794532106610,"integrity":"sha512-pgYBcmJHeCeHkKlvaV3sKhqTx4UUpMfWr/YZ7rpafAy0TJ4K2TTx5+Bxp65pzXrDQ5h3txfqtx1BhxkdYtoVJg==","mode":420,"size":430},"LICENSE":{"checkedAt":1794532104066,"integrity":"sha512-fUY+MMF2uFI8CfCphWLCp6ty4uU9bKvcaTZFGiBK7qgOOULkpyNSGb2IIjBYgGT5iqdeUaZRGLbTggbAUEyPyQ==","mode":420,"size":1069}}}
@@ -0,0 +1,58 @@
# object.values <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![dependency status][deps-svg]][deps-url]
[![dev dependency status][dev-deps-svg]][dev-deps-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]
[![npm badge][npm-badge-png]][package-url]
An ES2017 spec-compliant `Object.values` shim. Invoke its "shim" method to shim `Object.values` if it is unavailable or noncompliant.
This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the [spec](https://tc39.github.io/ecma262/#sec-object.values).
Most common usage:
```js
var assert = require('assert');
var values = require('object.values');
var obj = { a: 1, b: 2, c: 3 };
var expected = [1, 2, 3];
if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') {
// for environments with Symbol support
var sym = Symbol();
obj[sym] = 4;
obj.d = sym;
expected.push(sym);
}
assert.deepEqual(values(obj), expected);
if (!Object.values) {
values.shim();
}
assert.deepEqual(Object.values(obj), expected);
```
## Tests
Simply clone the repo, `npm install`, and run `npm test`
[package-url]: https://npmjs.com/package/object.values
[npm-version-svg]: https://versionbadg.es/es-shims/Object.values.svg
[deps-svg]: https://david-dm.org/es-shims/Object.values.svg
[deps-url]: https://david-dm.org/es-shims/Object.values
[dev-deps-svg]: https://david-dm.org/es-shims/Object.values/dev-status.svg
[dev-deps-url]: https://david-dm.org/es-shims/Object.values#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/object.values.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/object.values.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/object.values.svg
[downloads-url]: https://npm-stat.com/charts.html?package=object.values
[codecov-image]: https://codecov.io/gh/es-shims/Object.values/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/es-shims/Object.values/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/es-shims/Object.values
[actions-url]: https://github.com/es-shims/Object.values/actions
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var markRole = {
abstract: false,
accessibleNameRequired: false,
baseConcepts: [],
childrenPresentational: false,
nameFrom: ['prohibited'],
prohibitedProps: [],
props: {
'aria-braillelabel': null,
'aria-brailleroledescription': null,
'aria-description': null
},
relatedConcepts: [{
concept: {
name: 'mark'
},
module: 'HTML'
}],
requireContextRole: [],
requiredContextRole: [],
requiredOwnedElements: [],
requiredProps: {},
superClass: [['roletype', 'structure', 'section']]
};
var _default = exports.default = markRole;
@@ -0,0 +1 @@
module.exports={C:{"52":0.00379,"112":0.00379,"113":0.00379,"115":0.15926,"127":0.00758,"128":0.00758,"133":0.00379,"134":0.00379,"135":0.00379,"136":0.00379,"138":0.00379,"139":0.00379,"140":0.01138,"141":0.01138,"142":0.01517,"143":0.31853,"144":0.25406,"145":0.00379,_:"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 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 114 116 117 118 119 120 121 122 123 124 125 126 129 130 131 132 137 146 147 3.5 3.6"},D:{"39":0.00379,"40":0.00379,"41":0.00379,"42":0.00379,"43":0.00379,"44":0.00379,"45":0.00379,"46":0.00379,"47":0.00379,"48":0.00379,"49":0.00379,"50":0.00379,"51":0.00379,"52":0.00379,"53":0.00379,"54":0.00379,"55":0.00379,"56":0.00758,"57":0.00379,"58":0.00379,"59":0.00379,"60":0.00379,"62":0.00379,"65":0.00758,"66":0.00379,"68":0.01138,"69":0.00758,"70":0.00379,"71":0.00758,"72":0.00758,"73":0.01138,"74":0.01896,"75":0.01138,"76":0.01517,"77":0.01138,"78":0.00379,"79":0.00758,"80":0.01517,"81":0.00379,"83":0.00758,"84":0.00379,"85":0.00379,"86":0.01138,"87":0.01138,"88":0.00379,"89":0.00379,"91":0.01138,"92":0.00379,"93":0.03034,"94":0.00379,"95":0.00758,"96":0.00379,"99":0.00379,"100":0.00379,"101":0.00379,"102":0.02275,"103":0.12134,"104":0.03792,"105":0.00379,"106":0.00758,"107":0.00379,"108":0.00758,"109":1.73674,"111":0.00379,"112":0.89112,"114":0.01517,"115":0.04171,"116":0.13272,"117":0.00379,"118":0.00379,"119":0.02275,"120":0.01138,"121":0.01138,"122":0.01896,"123":0.00758,"124":0.01138,"125":2.72266,"126":0.11755,"127":0.01517,"128":0.03034,"129":0.01896,"130":0.02275,"131":0.07963,"132":0.16306,"133":0.03413,"134":0.0455,"135":0.06446,"136":0.06826,"137":0.10238,"138":0.31474,"139":0.34128,"140":5.90035,"141":12.93451,"142":0.18202,"143":0.01138,_:"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 61 63 64 67 90 97 98 110 113 144 145"},F:{"79":0.00379,"86":0.00379,"90":0.00379,"91":0.02275,"92":0.03413,"95":0.03792,"114":0.00379,"119":0.00379,"120":0.05688,"121":0.01138,"122":0.42091,_:"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 80 81 82 83 84 85 87 88 89 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 115 116 117 118 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00379,"14":0.00379,"15":0.00379,"16":0.00379,"18":0.01138,"89":0.00379,"90":0.00379,"92":0.03034,"109":0.00758,"110":0.00379,"114":0.0455,"120":0.00379,"122":0.00379,"131":0.01138,"132":0.01138,"133":0.00758,"134":0.00379,"135":0.00758,"136":0.01138,"137":0.00758,"138":0.01138,"139":0.01517,"140":0.26165,"141":1.09589,"142":0.00379,_:"13 17 79 80 81 83 84 85 86 87 88 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 113 115 116 117 118 119 121 123 124 125 126 127 128 129 130"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.4 15.5 16.2 16.4 16.5 17.0 17.2 26.2","5.1":0.00379,"13.1":0.00379,"14.1":0.00379,"15.2-15.3":0.00379,"15.6":0.01896,"16.0":0.00379,"16.1":0.00379,"16.3":0.00379,"16.6":0.01138,"17.1":0.01517,"17.3":0.00379,"17.4":0.00379,"17.5":0.00379,"17.6":0.02654,"18.0":0.00379,"18.1":0.00379,"18.2":0.00379,"18.3":0.00758,"18.4":0.00758,"18.5-18.6":0.01138,"26.0":0.08342,"26.1":0.00379},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00029,"5.0-5.1":0,"6.0-6.1":0.00118,"7.0-7.1":0.00088,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.00265,"10.0-10.2":0.00029,"10.3":0.00501,"11.0-11.2":0.07431,"11.3-11.4":0.00177,"12.0-12.1":0.00059,"12.2-12.5":0.01445,"13.0-13.1":0,"13.2":0.00147,"13.3":0.00059,"13.4-13.7":0.00236,"14.0-14.4":0.00501,"14.5-14.8":0.00531,"15.0-15.1":0.00501,"15.2-15.3":0.00383,"15.4":0.00442,"15.5":0.00501,"15.6-15.8":0.06546,"16.0":0.00885,"16.1":0.01651,"16.2":0.00855,"16.3":0.01533,"16.4":0.00383,"16.5":0.00678,"16.6-16.7":0.08758,"17.0":0.00619,"17.1":0.00944,"17.2":0.00678,"17.3":0.01003,"17.4":0.01769,"17.5":0.03037,"17.6-17.7":0.07667,"18.0":0.0174,"18.1":0.03598,"18.2":0.01946,"18.3":0.06251,"18.4":0.03214,"18.5-18.6":1.63894,"26.0":0.20258,"26.1":0.00737},P:{"4":0.03171,"21":0.01057,"24":0.01057,"25":0.04228,"26":0.04228,"27":0.02114,"28":0.53909,"29":0.03171,_:"20 22 23 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.03171,"17.0":0.02114},I:{"0":0.05579,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},K:{"0":1.18747,_:"10 11 12 11.1 11.5 12.1"},A:{"8":0.0128,"10":0.00427,"11":0.05119,_:"6 7 9 5.5"},S:{"2.5":0.03725,_:"3.0-3.1"},J:{_:"7 10"},N:{_:"10 11"},R:{_:"0"},M:{"0":0.04966},Q:{_:"14.9"},O:{"0":2.07968},H:{"0":0.11},L:{"0":62.31094}};
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020
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,18 @@
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeMax = Math.max,
nativeMin = Math.min;
/**
* The base implementation of `_.inRange` which doesn't coerce arguments.
*
* @private
* @param {number} number The number to check.
* @param {number} start The start of the range.
* @param {number} end The end of the range.
* @returns {boolean} Returns `true` if `number` is in the range, else `false`.
*/
function baseInRange(number, start, end) {
return number >= nativeMin(start, end) && number < nativeMax(start, end);
}
export default baseInRange;
@@ -0,0 +1,807 @@
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
module.exports = exports = factory();
}
else if (typeof define === "function" && define.amd) {
// AMD
define([], factory);
}
else {
// Global (browser)
root.CryptoJS = factory();
}
}(this, function () {
/*globals window, global, require*/
/**
* CryptoJS core components.
*/
var CryptoJS = CryptoJS || (function (Math, undefined) {
var crypto;
// Native crypto from window (Browser)
if (typeof window !== 'undefined' && window.crypto) {
crypto = window.crypto;
}
// Native crypto in web worker (Browser)
if (typeof self !== 'undefined' && self.crypto) {
crypto = self.crypto;
}
// Native crypto from worker
if (typeof globalThis !== 'undefined' && globalThis.crypto) {
crypto = globalThis.crypto;
}
// Native (experimental IE 11) crypto from window (Browser)
if (!crypto && typeof window !== 'undefined' && window.msCrypto) {
crypto = window.msCrypto;
}
// Native crypto from global (NodeJS)
if (!crypto && typeof global !== 'undefined' && global.crypto) {
crypto = global.crypto;
}
// Native crypto import via require (NodeJS)
if (!crypto && typeof require === 'function') {
try {
crypto = require('crypto');
} catch (err) {}
}
/*
* Cryptographically secure pseudorandom number generator
*
* As Math.random() is cryptographically not safe to use
*/
var cryptoSecureRandomInt = function () {
if (crypto) {
// Use getRandomValues method (Browser)
if (typeof crypto.getRandomValues === 'function') {
try {
return crypto.getRandomValues(new Uint32Array(1))[0];
} catch (err) {}
}
// Use randomBytes method (NodeJS)
if (typeof crypto.randomBytes === 'function') {
try {
return crypto.randomBytes(4).readInt32LE();
} catch (err) {}
}
}
throw new Error('Native crypto module could not be used to get secure random number.');
};
/*
* Local polyfill of Object.create
*/
var create = Object.create || (function () {
function F() {}
return function (obj) {
var subtype;
F.prototype = obj;
subtype = new F();
F.prototype = null;
return subtype;
};
}());
/**
* CryptoJS namespace.
*/
var C = {};
/**
* Library namespace.
*/
var C_lib = C.lib = {};
/**
* Base object for prototypal inheritance.
*/
var Base = C_lib.Base = (function () {
return {
/**
* Creates a new object that inherits from this object.
*
* @param {Object} overrides Properties to copy into the new object.
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* field: 'value',
*
* method: function () {
* }
* });
*/
extend: function (overrides) {
// Spawn
var subtype = create(this);
// Augment
if (overrides) {
subtype.mixIn(overrides);
}
// Create default initializer
if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {
subtype.init = function () {
subtype.$super.init.apply(this, arguments);
};
}
// Initializer's prototype is the subtype object
subtype.init.prototype = subtype;
// Reference supertype
subtype.$super = this;
return subtype;
},
/**
* Extends this object and runs the init method.
* Arguments to create() will be passed to init().
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var instance = MyType.create();
*/
create: function () {
var instance = this.extend();
instance.init.apply(instance, arguments);
return instance;
},
/**
* Initializes a newly created object.
* Override this method to add some logic when your objects are created.
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* init: function () {
* // ...
* }
* });
*/
init: function () {
},
/**
* Copies properties into this object.
*
* @param {Object} properties The properties to mix in.
*
* @example
*
* MyType.mixIn({
* field: 'value'
* });
*/
mixIn: function (properties) {
for (var propertyName in properties) {
if (properties.hasOwnProperty(propertyName)) {
this[propertyName] = properties[propertyName];
}
}
// IE won't copy toString using the loop above
if (properties.hasOwnProperty('toString')) {
this.toString = properties.toString;
}
},
/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = instance.clone();
*/
clone: function () {
return this.init.prototype.extend(this);
}
};
}());
/**
* An array of 32-bit words.
*
* @property {Array} words The array of 32-bit words.
* @property {number} sigBytes The number of significant bytes in this word array.
*/
var WordArray = C_lib.WordArray = Base.extend({
/**
* Initializes a newly created word array.
*
* @param {Array} words (Optional) An array of 32-bit words.
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.create();
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
*/
init: function (words, sigBytes) {
words = this.words = words || [];
if (sigBytes != undefined) {
this.sigBytes = sigBytes;
} else {
this.sigBytes = words.length * 4;
}
},
/**
* Converts this word array to a string.
*
* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
*
* @return {string} The stringified word array.
*
* @example
*
* var string = wordArray + '';
* var string = wordArray.toString();
* var string = wordArray.toString(CryptoJS.enc.Utf8);
*/
toString: function (encoder) {
return (encoder || Hex).stringify(this);
},
/**
* Concatenates a word array to this word array.
*
* @param {WordArray} wordArray The word array to append.
*
* @return {WordArray} This word array.
*
* @example
*
* wordArray1.concat(wordArray2);
*/
concat: function (wordArray) {
// Shortcuts
var thisWords = this.words;
var thatWords = wordArray.words;
var thisSigBytes = this.sigBytes;
var thatSigBytes = wordArray.sigBytes;
// Clamp excess bits
this.clamp();
// Concat
if (thisSigBytes % 4) {
// Copy one byte at a time
for (var i = 0; i < thatSigBytes; i++) {
var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);
}
} else {
// Copy one word at a time
for (var j = 0; j < thatSigBytes; j += 4) {
thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];
}
}
this.sigBytes += thatSigBytes;
// Chainable
return this;
},
/**
* Removes insignificant bits.
*
* @example
*
* wordArray.clamp();
*/
clamp: function () {
// Shortcuts
var words = this.words;
var sigBytes = this.sigBytes;
// Clamp
words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);
words.length = Math.ceil(sigBytes / 4);
},
/**
* Creates a copy of this word array.
*
* @return {WordArray} The clone.
*
* @example
*
* var clone = wordArray.clone();
*/
clone: function () {
var clone = Base.clone.call(this);
clone.words = this.words.slice(0);
return clone;
},
/**
* Creates a word array filled with random bytes.
*
* @param {number} nBytes The number of random bytes to generate.
*
* @return {WordArray} The random word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.random(16);
*/
random: function (nBytes) {
var words = [];
for (var i = 0; i < nBytes; i += 4) {
words.push(cryptoSecureRandomInt());
}
return new WordArray.init(words, nBytes);
}
});
/**
* Encoder namespace.
*/
var C_enc = C.enc = {};
/**
* Hex encoding strategy.
*/
var Hex = C_enc.Hex = {
/**
* Converts a word array to a hex string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The hex string.
*
* @static
*
* @example
*
* var hexString = CryptoJS.enc.Hex.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var hexChars = [];
for (var i = 0; i < sigBytes; i++) {
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
hexChars.push((bite >>> 4).toString(16));
hexChars.push((bite & 0x0f).toString(16));
}
return hexChars.join('');
},
/**
* Converts a hex string to a word array.
*
* @param {string} hexStr The hex string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Hex.parse(hexString);
*/
parse: function (hexStr) {
// Shortcut
var hexStrLength = hexStr.length;
// Convert
var words = [];
for (var i = 0; i < hexStrLength; i += 2) {
words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);
}
return new WordArray.init(words, hexStrLength / 2);
}
};
/**
* Latin1 encoding strategy.
*/
var Latin1 = C_enc.Latin1 = {
/**
* Converts a word array to a Latin1 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The Latin1 string.
*
* @static
*
* @example
*
* var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var latin1Chars = [];
for (var i = 0; i < sigBytes; i++) {
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
latin1Chars.push(String.fromCharCode(bite));
}
return latin1Chars.join('');
},
/**
* Converts a Latin1 string to a word array.
*
* @param {string} latin1Str The Latin1 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
*/
parse: function (latin1Str) {
// Shortcut
var latin1StrLength = latin1Str.length;
// Convert
var words = [];
for (var i = 0; i < latin1StrLength; i++) {
words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);
}
return new WordArray.init(words, latin1StrLength);
}
};
/**
* UTF-8 encoding strategy.
*/
var Utf8 = C_enc.Utf8 = {
/**
* Converts a word array to a UTF-8 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The UTF-8 string.
*
* @static
*
* @example
*
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
*/
stringify: function (wordArray) {
try {
return decodeURIComponent(escape(Latin1.stringify(wordArray)));
} catch (e) {
throw new Error('Malformed UTF-8 data');
}
},
/**
* Converts a UTF-8 string to a word array.
*
* @param {string} utf8Str The UTF-8 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
*/
parse: function (utf8Str) {
return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
}
};
/**
* Abstract buffered block algorithm template.
*
* The property blockSize must be implemented in a concrete subtype.
*
* @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
*/
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
/**
* Resets this block algorithm's data buffer to its initial state.
*
* @example
*
* bufferedBlockAlgorithm.reset();
*/
reset: function () {
// Initial values
this._data = new WordArray.init();
this._nDataBytes = 0;
},
/**
* Adds new data to this block algorithm's buffer.
*
* @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
*
* @example
*
* bufferedBlockAlgorithm._append('data');
* bufferedBlockAlgorithm._append(wordArray);
*/
_append: function (data) {
// Convert string to WordArray, else assume WordArray already
if (typeof data == 'string') {
data = Utf8.parse(data);
}
// Append
this._data.concat(data);
this._nDataBytes += data.sigBytes;
},
/**
* Processes available data blocks.
*
* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
*
* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
*
* @return {WordArray} The processed data.
*
* @example
*
* var processedData = bufferedBlockAlgorithm._process();
* var processedData = bufferedBlockAlgorithm._process(!!'flush');
*/
_process: function (doFlush) {
var processedWords;
// Shortcuts
var data = this._data;
var dataWords = data.words;
var dataSigBytes = data.sigBytes;
var blockSize = this.blockSize;
var blockSizeBytes = blockSize * 4;
// Count blocks ready
var nBlocksReady = dataSigBytes / blockSizeBytes;
if (doFlush) {
// Round up to include partial blocks
nBlocksReady = Math.ceil(nBlocksReady);
} else {
// Round down to include only full blocks,
// less the number of blocks that must remain in the buffer
nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
}
// Count words ready
var nWordsReady = nBlocksReady * blockSize;
// Count bytes ready
var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
// Process blocks
if (nWordsReady) {
for (var offset = 0; offset < nWordsReady; offset += blockSize) {
// Perform concrete-algorithm logic
this._doProcessBlock(dataWords, offset);
}
// Remove processed words
processedWords = dataWords.splice(0, nWordsReady);
data.sigBytes -= nBytesReady;
}
// Return processed words
return new WordArray.init(processedWords, nBytesReady);
},
/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = bufferedBlockAlgorithm.clone();
*/
clone: function () {
var clone = Base.clone.call(this);
clone._data = this._data.clone();
return clone;
},
_minBufferSize: 0
});
/**
* Abstract hasher template.
*
* @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
*/
var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
/**
* Configuration options.
*/
cfg: Base.extend(),
/**
* Initializes a newly created hasher.
*
* @param {Object} cfg (Optional) The configuration options to use for this hash computation.
*
* @example
*
* var hasher = CryptoJS.algo.SHA256.create();
*/
init: function (cfg) {
// Apply config defaults
this.cfg = this.cfg.extend(cfg);
// Set initial values
this.reset();
},
/**
* Resets this hasher to its initial state.
*
* @example
*
* hasher.reset();
*/
reset: function () {
// Reset data buffer
BufferedBlockAlgorithm.reset.call(this);
// Perform concrete-hasher logic
this._doReset();
},
/**
* Updates this hasher with a message.
*
* @param {WordArray|string} messageUpdate The message to append.
*
* @return {Hasher} This hasher.
*
* @example
*
* hasher.update('message');
* hasher.update(wordArray);
*/
update: function (messageUpdate) {
// Append
this._append(messageUpdate);
// Update the hash
this._process();
// Chainable
return this;
},
/**
* Finalizes the hash computation.
* Note that the finalize operation is effectively a destructive, read-once operation.
*
* @param {WordArray|string} messageUpdate (Optional) A final message update.
*
* @return {WordArray} The hash.
*
* @example
*
* var hash = hasher.finalize();
* var hash = hasher.finalize('message');
* var hash = hasher.finalize(wordArray);
*/
finalize: function (messageUpdate) {
// Final message update
if (messageUpdate) {
this._append(messageUpdate);
}
// Perform concrete-hasher logic
var hash = this._doFinalize();
return hash;
},
blockSize: 512/32,
/**
* Creates a shortcut function to a hasher's object interface.
*
* @param {Hasher} hasher The hasher to create a helper for.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
*/
_createHelper: function (hasher) {
return function (message, cfg) {
return new hasher.init(cfg).finalize(message);
};
},
/**
* Creates a shortcut function to the HMAC's object interface.
*
* @param {Hasher} hasher The hasher to use in this HMAC helper.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
*/
_createHmacHelper: function (hasher) {
return function (message, key) {
return new C_algo.HMAC.init(hasher, key).finalize(message);
};
}
});
/**
* Algorithm namespace.
*/
var C_algo = C.algo = {};
return C;
}(Math));
return CryptoJS;
}));
@@ -0,0 +1,39 @@
/*
* When this file is linked to a DLL, it sets up a delay-load hook that
* intervenes when the DLL is trying to load the host executable
* dynamically. Instead of trying to locate the .exe file it'll just
* return a handle to the process image.
*
* This allows compiled addons to work when the host executable is renamed.
*/
#ifdef _MSC_VER
#pragma managed(push, off)
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#include <delayimp.h>
#include <string.h>
static FARPROC WINAPI load_exe_hook(unsigned int event, DelayLoadInfo* info) {
HMODULE m;
if (event != dliNotePreLoadLibrary)
return NULL;
if (_stricmp(info->szDll, HOST_BINARY) != 0)
return NULL;
m = GetModuleHandle(NULL);
return (FARPROC) m;
}
decltype(__pfnDliNotifyHook2) __pfnDliNotifyHook2 = load_exe_hook;
#pragma managed(pop)
#endif
@@ -0,0 +1,386 @@
import * as T from '../type/index.mjs';
// prettier-ignore
const Dereference = (context, key) => {
return key in context ? context[key] : T.Ref(key);
};
// prettier-ignore
const DelimitedDecode = (input, result = []) => {
return input.reduce((result, left) => {
return T.ValueGuard.IsArray(left) && left.length === 2
? [...result, left[0]]
: [...result, left];
}, []);
};
// prettier-ignore
const Delimited = (input) => {
const [left, right] = input;
return DelimitedDecode([...left, ...right]);
};
// prettier-ignore
export function GenericReferenceParameterListMapping(input, context) {
return Delimited(input);
}
// prettier-ignore
export function GenericReferenceMapping(input, context) {
const type = Dereference(context, input[0]);
const args = input[2];
return T.Instantiate(type, args);
}
// prettier-ignore
export function GenericArgumentsListMapping(input, context) {
return Delimited(input);
}
// ...
// prettier-ignore
const GenericArgumentsContext = (_arguments, context) => {
return _arguments.reduce((result, arg, index) => {
return { ...result, [arg]: T.Argument(index) };
}, context);
};
// prettier-ignore
export function GenericArgumentsMapping(input, context) {
return input.length === 3
? GenericArgumentsContext(input[1], context)
: {};
}
// prettier-ignore
export function KeywordStringMapping(input, context) {
return T.String();
}
// prettier-ignore
export function KeywordNumberMapping(input, context) {
return T.Number();
}
// prettier-ignore
export function KeywordBooleanMapping(input, context) {
return T.Boolean();
}
// prettier-ignore
export function KeywordUndefinedMapping(input, context) {
return T.Undefined();
}
// prettier-ignore
export function KeywordNullMapping(input, context) {
return T.Null();
}
// prettier-ignore
export function KeywordIntegerMapping(input, context) {
return T.Integer();
}
// prettier-ignore
export function KeywordBigIntMapping(input, context) {
return T.BigInt();
}
// prettier-ignore
export function KeywordUnknownMapping(input, context) {
return T.Unknown();
}
// prettier-ignore
export function KeywordAnyMapping(input, context) {
return T.Any();
}
// prettier-ignore
export function KeywordNeverMapping(input, context) {
return T.Never();
}
// prettier-ignore
export function KeywordSymbolMapping(input, context) {
return T.Symbol();
}
// prettier-ignore
export function KeywordVoidMapping(input, context) {
return T.Void();
}
// prettier-ignore
export function KeywordMapping(input, context) {
return input;
}
// prettier-ignore
export function LiteralStringMapping(input, context) {
return T.Literal(input);
}
// prettier-ignore
export function LiteralNumberMapping(input, context) {
return T.Literal(parseFloat(input));
}
// prettier-ignore
export function LiteralBooleanMapping(input, context) {
return T.Literal(input === 'true');
}
// prettier-ignore
export function LiteralMapping(input, context) {
return input;
}
// prettier-ignore
export function KeyOfMapping(input, context) {
return input.length > 0;
}
// prettier-ignore
export function IndexArrayMapping(input, context) {
return input.reduce((result, current) => {
return current.length === 3
? [...result, [current[1]]]
: [...result, []];
}, []);
}
// prettier-ignore
export function ExtendsMapping(input, context) {
return input.length === 6
? [input[1], input[3], input[5]]
: [];
}
// prettier-ignore
export function BaseMapping(input, context) {
return T.ValueGuard.IsArray(input) && input.length === 3 ? input[1] : input;
}
// ...
// prettier-ignore
const FactorIndexArray = (Type, indexArray) => {
return indexArray.reduceRight((result, right) => {
const _right = right;
return (_right.length === 1 ? T.Index(result, _right[0]) :
_right.length === 0 ? T.Array(result, _right[0]) :
T.Never());
}, Type);
};
// prettier-ignore
const FactorExtends = (Type, Extends) => {
return Extends.length === 3
? T.Extends(Type, Extends[0], Extends[1], Extends[2])
: Type;
};
// prettier-ignore
export function FactorMapping(input, context) {
const [KeyOf, Type, IndexArray, Extends] = input;
return KeyOf
? FactorExtends(T.KeyOf(FactorIndexArray(Type, IndexArray)), Extends)
: FactorExtends(FactorIndexArray(Type, IndexArray), Extends);
}
// prettier-ignore
function ExprBinaryMapping(Left, Rest) {
return (Rest.length === 3 ? (() => {
const [Operator, Right, Next] = Rest;
const Schema = ExprBinaryMapping(Right, Next);
if (Operator === '&') {
return T.TypeGuard.IsIntersect(Schema)
? T.Intersect([Left, ...Schema.allOf])
: T.Intersect([Left, Schema]);
}
if (Operator === '|') {
return T.TypeGuard.IsUnion(Schema)
? T.Union([Left, ...Schema.anyOf])
: T.Union([Left, Schema]);
}
throw 1;
})() : Left);
}
// prettier-ignore
export function ExprTermTailMapping(input, context) {
return input;
}
// prettier-ignore
export function ExprTermMapping(input, context) {
const [left, rest] = input;
return ExprBinaryMapping(left, rest);
}
// prettier-ignore
export function ExprTailMapping(input, context) {
return input;
}
// prettier-ignore
export function ExprMapping(input, context) {
const [left, rest] = input;
return ExprBinaryMapping(left, rest);
}
// prettier-ignore
export function TypeMapping(input, context) {
return input;
}
// prettier-ignore
export function PropertyKeyMapping(input, context) {
return input;
}
// prettier-ignore
export function ReadonlyMapping(input, context) {
return input.length > 0;
}
// prettier-ignore
export function OptionalMapping(input, context) {
return input.length > 0;
}
// prettier-ignore
export function PropertyMapping(input, context) {
const [isReadonly, key, isOptional, _colon, type] = input;
return {
[key]: (isReadonly && isOptional ? T.ReadonlyOptional(type) :
isReadonly && !isOptional ? T.Readonly(type) :
!isReadonly && isOptional ? T.Optional(type) :
type)
};
}
// prettier-ignore
export function PropertyDelimiterMapping(input, context) {
return input;
}
// prettier-ignore
export function PropertyListMapping(input, context) {
return Delimited(input);
}
// prettier-ignore
export function ObjectMapping(input, context) {
const propertyList = input[1];
return T.Object(propertyList.reduce((result, property) => {
return { ...result, ...property };
}, {}));
}
// prettier-ignore
export function ElementListMapping(input, context) {
return Delimited(input);
}
// prettier-ignore
export function TupleMapping(input, context) {
return T.Tuple(input[1]);
}
// prettier-ignore
export function ParameterMapping(input, context) {
const [_ident, _colon, type] = input;
return type;
}
// prettier-ignore
export function ParameterListMapping(input, context) {
return Delimited(input);
}
// prettier-ignore
export function FunctionMapping(input, context) {
const [_lparan, parameterList, _rparan, _arrow, returnType] = input;
return T.Function(parameterList, returnType);
}
// prettier-ignore
export function ConstructorMapping(input, context) {
const [_new, _lparan, parameterList, _rparan, _arrow, instanceType] = input;
return T.Constructor(parameterList, instanceType);
}
// prettier-ignore
export function MappedMapping(input, context) {
const [_lbrace, _lbracket, _key, _in, _right, _rbracket, _colon, _type] = input;
return T.Literal('Mapped types not supported');
}
// prettier-ignore
export function AsyncIteratorMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.AsyncIterator(type);
}
// prettier-ignore
export function IteratorMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Iterator(type);
}
// prettier-ignore
export function ArgumentMapping(input, context) {
return T.KindGuard.IsLiteralNumber(input[2])
? T.Argument(Math.trunc(input[2].const))
: T.Never();
}
// prettier-ignore
export function AwaitedMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Awaited(type);
}
// prettier-ignore
export function ArrayMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Array(type);
}
// prettier-ignore
export function RecordMapping(input, context) {
const [_name, _langle, key, _comma, type, _rangle] = input;
return T.Record(key, type);
}
// prettier-ignore
export function PromiseMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Promise(type);
}
// prettier-ignore
export function ConstructorParametersMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.ConstructorParameters(type);
}
// prettier-ignore
export function FunctionParametersMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Parameters(type);
}
// prettier-ignore
export function InstanceTypeMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.InstanceType(type);
}
// prettier-ignore
export function ReturnTypeMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.ReturnType(type);
}
// prettier-ignore
export function PartialMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Partial(type);
}
// prettier-ignore
export function RequiredMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Required(type);
}
// prettier-ignore
export function PickMapping(input, context) {
const [_name, _langle, key, _comma, type, _rangle] = input;
return T.Pick(key, type);
}
// prettier-ignore
export function OmitMapping(input, context) {
const [_name, _langle, key, _comma, type, _rangle] = input;
return T.Omit(key, type);
}
// prettier-ignore
export function ExcludeMapping(input, context) {
const [_name, _langle, key, _comma, type, _rangle] = input;
return T.Exclude(key, type);
}
// prettier-ignore
export function ExtractMapping(input, context) {
const [_name, _langle, key, _comma, type, _rangle] = input;
return T.Extract(key, type);
}
// prettier-ignore
export function UppercaseMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Uppercase(type);
}
// prettier-ignore
export function LowercaseMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Lowercase(type);
}
// prettier-ignore
export function CapitalizeMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Capitalize(type);
}
// prettier-ignore
export function UncapitalizeMapping(input, context) {
const [_name, _langle, type, _rangle] = input;
return T.Uncapitalize(type);
}
// prettier-ignore
export function DateMapping(input, context) {
return T.Date();
}
// prettier-ignore
export function Uint8ArrayMapping(input, context) {
return T.Uint8Array();
}
// prettier-ignore
export function ReferenceMapping(input, context) {
const target = Dereference(context, input);
return target;
}
@@ -0,0 +1,117 @@
// This entire implementation courtesy of Anders Hjelsberg:
// https://github.com/microsoft/TypeScript/pull/50831#issuecomment-1253830522
import type { AnyFunction } from '../types'
/**
* Represents the longest array within an array of arrays.
*
* @template ArrayOfTuples An array of arrays.
*
* @internal
*/
type LongestTuple<ArrayOfTuples extends readonly unknown[][]> =
ArrayOfTuples extends [infer FirstArray extends unknown[]]
? FirstArray
: ArrayOfTuples extends [
infer FirstArray,
...infer RestArrays extends unknown[][]
]
? LongerOfTwo<FirstArray, LongestTuple<RestArrays>>
: never
/**
* Determines the longer of two array types.
*
* @template ArrayOne First array type.
* @template ArrayTwo Second array type.
*
* @internal
*/
type LongerOfTwo<ArrayOne, ArrayTwo> = keyof ArrayTwo extends keyof ArrayOne
? ArrayOne
: ArrayTwo
/**
* Extracts the element at a specific index in an array.
*
* @template ArrayType The array type.
* @template Index The index type.
*
* @internal
*/
type ElementAt<
ArrayType extends unknown[],
Index extends PropertyKey
> = Index extends keyof ArrayType ? ArrayType[Index] : unknown
/**
* Maps each array in an array of arrays to its element at a given index.
*
* @template ArrayOfTuples An array of arrays.
* @template Index The index to extract from each array.
*
* @internal
*/
type ElementsAtGivenIndex<
ArrayOfTuples extends readonly unknown[][],
Index extends PropertyKey
> = {
[ArrayIndex in keyof ArrayOfTuples]: ElementAt<
ArrayOfTuples[ArrayIndex],
Index
>
}
/**
* Computes the intersection of all types in a tuple.
*
* @template Tuple A tuple of types.
*
* @internal
*/
type Intersect<Tuple extends readonly unknown[]> = Tuple extends []
? unknown
: Tuple extends [infer Head, ...infer Tail]
? Head & Intersect<Tail>
: Tuple[number]
/**
* Merges a tuple of arrays into a single tuple, intersecting types at each index.
*
* @template ArrayOfTuples An array of tuples.
* @template LongestArray The longest array in ArrayOfTuples.
*
* @internal
*/
type MergeTuples<
ArrayOfTuples extends readonly unknown[][],
LongestArray extends unknown[] = LongestTuple<ArrayOfTuples>
> = {
[Index in keyof LongestArray]: Intersect<
ElementsAtGivenIndex<ArrayOfTuples, Index>
>
}
/**
* Extracts the parameter types from a tuple of functions.
*
* @template FunctionsArray An array of function types.
*
* @internal
*/
type ExtractParameters<FunctionsArray extends readonly AnyFunction[]> = {
[Index in keyof FunctionsArray]: Parameters<FunctionsArray[Index]>
}
/**
* Merges the parameters of a tuple of functions into a single tuple.
*
* @template FunctionsArray An array of function types.
*
* @internal
*/
export type MergeParameters<FunctionsArray extends readonly AnyFunction[]> =
'0' extends keyof FunctionsArray
? MergeTuples<ExtractParameters<FunctionsArray>>
: Parameters<FunctionsArray[number]>
@@ -0,0 +1,19 @@
import { getParamInfo } from "../reflection-helpers";
import { typeInfo } from "../dependency-container";
import { instance as globalContainer } from "../dependency-container";
function injectable(options) {
return function (target) {
typeInfo.set(target, getParamInfo(target));
if (options && options.token) {
if (!Array.isArray(options.token)) {
globalContainer.register(options.token, target);
}
else {
options.token.forEach(function (token) {
globalContainer.register(token, target);
});
}
}
};
}
export default injectable;
@@ -0,0 +1,201 @@
import { PrettyFormatOptions } from '@vitest/pretty-format';
import { SequenceHooks, SequenceSetupFiles } from '@vitest/runner';
import { SnapshotUpdateState, SnapshotEnvironment } from '@vitest/snapshot';
import { SerializedDiffOptions } from '@vitest/utils/diff';
/**
* Names of clock methods that may be faked by install.
*/
type FakeMethod =
| "setTimeout"
| "clearTimeout"
| "setImmediate"
| "clearImmediate"
| "setInterval"
| "clearInterval"
| "Date"
| "nextTick"
| "hrtime"
| "requestAnimationFrame"
| "cancelAnimationFrame"
| "requestIdleCallback"
| "cancelIdleCallback"
| "performance"
| "queueMicrotask";
interface FakeTimerInstallOpts {
/**
* Installs fake timers with the specified unix epoch (default: 0)
*/
now?: number | Date | undefined;
/**
* An array with names of global methods and APIs to fake.
* For instance, `vi.useFakeTimer({ toFake: ['setTimeout', 'performance'] })` will fake only `setTimeout()` and `performance.now()`
* @default everything available globally except `nextTick`
*/
toFake?: FakeMethod[] | undefined;
/**
* The maximum number of timers that will be run when calling runAll()
* @default 10000
*/
loopLimit?: number | undefined;
/**
* Tells @sinonjs/fake-timers to increment mocked time automatically based on the real system time shift (e.g. the mocked time will be incremented by
* 20ms for every 20ms change in the real system time) (default: false)
*/
shouldAdvanceTime?: boolean | undefined;
/**
* Relevant only when using with shouldAdvanceTime: true. increment mocked time by advanceTimeDelta ms every advanceTimeDelta ms change
* in the real system time (default: 20)
*/
advanceTimeDelta?: number | undefined;
/**
* Tells FakeTimers to clear 'native' (i.e. not fake) timers by delegating to their respective handlers.
* @default true
*/
shouldClearNativeTimers?: boolean | undefined;
/**
* Don't throw error when asked to fake timers that are not present.
* @default false
*/
ignoreMissingTimers?: boolean | undefined;
}
/**
* Config that tests have access to.
*/
interface SerializedConfig {
name: string | undefined;
globals: boolean;
base: string | undefined;
snapshotEnvironment?: string;
disableConsoleIntercept: boolean | undefined;
runner: string | undefined;
isolate: boolean;
maxWorkers: number;
mode: "test" | "benchmark";
bail: number | undefined;
environmentOptions?: Record<string, any>;
root: string;
setupFiles: string[];
passWithNoTests: boolean;
testNamePattern: RegExp | undefined;
allowOnly: boolean;
testTimeout: number;
hookTimeout: number;
clearMocks: boolean;
mockReset: boolean;
restoreMocks: boolean;
unstubGlobals: boolean;
unstubEnvs: boolean;
fakeTimers: FakeTimerInstallOpts;
maxConcurrency: number;
defines: Record<string, any>;
expect: {
requireAssertions?: boolean;
poll?: {
timeout?: number;
interval?: number;
};
};
printConsoleTrace: boolean | undefined;
sequence: {
shuffle?: boolean;
concurrent?: boolean;
seed: number;
hooks: SequenceHooks;
setupFiles: SequenceSetupFiles;
};
deps: {
web: {
transformAssets?: boolean;
transformCss?: boolean;
transformGlobPattern?: RegExp | RegExp[];
};
optimizer: Record<string, {
enabled: boolean;
}>;
interopDefault: boolean | undefined;
moduleDirectories: string[] | undefined;
};
snapshotOptions: {
updateSnapshot: SnapshotUpdateState;
expand: boolean | undefined;
snapshotFormat: PrettyFormatOptions | undefined;
/**
* only exists for tests, not available in the main process
*/
snapshotEnvironment: SnapshotEnvironment;
};
pool: string;
snapshotSerializers: string[];
chaiConfig: {
includeStack?: boolean;
showDiff?: boolean;
truncateThreshold?: number;
} | undefined;
diff: string | SerializedDiffOptions | undefined;
retry: number;
includeTaskLocation: boolean | undefined;
inspect: boolean | string | undefined;
inspectBrk: boolean | string | undefined;
inspector: {
enabled?: boolean;
port?: number;
host?: string;
waitForDebugger?: boolean;
};
watch: boolean;
env: Record<string, any>;
browser: {
name: string;
headless: boolean;
isolate: boolean;
fileParallelism: boolean;
ui: boolean;
viewport: {
width: number;
height: number;
};
locators: {
testIdAttribute: string;
};
screenshotFailures: boolean;
providerOptions: {
actionTimeout?: number;
};
trace: BrowserTraceViewMode;
trackUnhandledErrors: boolean;
};
standalone: boolean;
logHeapUsage: boolean | undefined;
coverage: SerializedCoverageConfig;
benchmark: {
includeSamples: boolean;
} | undefined;
serializedDefines: string;
}
interface SerializedCoverageConfig {
provider: "istanbul" | "v8" | "custom" | undefined;
reportsDirectory: string;
htmlReporter: {
subdir: string | undefined;
} | undefined;
enabled: boolean;
customProviderModule: string | undefined;
}
type RuntimeConfig = Pick<SerializedConfig, "allowOnly" | "testTimeout" | "hookTimeout" | "clearMocks" | "mockReset" | "restoreMocks" | "fakeTimers" | "maxConcurrency" | "expect" | "printConsoleTrace"> & {
sequence?: {
hooks?: SequenceHooks;
};
};
type RuntimeOptions = Partial<RuntimeConfig>;
type BrowserTraceViewMode = "on" | "off" | "on-first-retry" | "on-all-retries" | "retain-on-failure";
export type { BrowserTraceViewMode as B, FakeTimerInstallOpts as F, RuntimeOptions as R, SerializedConfig as S, SerializedCoverageConfig as a, RuntimeConfig as b };
@@ -0,0 +1,37 @@
// Copyright Joyent, Inc. and other Node contributors.
//
// 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.
// a passthrough stream.
// basically just the most minimal sort of Transform stream.
// Every written chunk gets output as-is.
'use strict';
module.exports = PassThrough;
var Transform = require('./_stream_transform');
require('inherits')(PassThrough, Transform);
function PassThrough(options) {
if (!(this instanceof PassThrough)) return new PassThrough(options);
Transform.call(this, options);
}
PassThrough.prototype._transform = function (chunk, encoding, cb) {
cb(null, chunk);
};
@@ -0,0 +1,8 @@
'use strict'
const parse = require('./parse')
const valid = (version, options) => {
const v = parse(version, options)
return v ? v.version : null
}
module.exports = valid
@@ -0,0 +1,24 @@
/**
* @param {Emphasis} node
* @param {Parents | undefined} _
* @param {State} state
* @param {Info} info
* @returns {string}
*/
export function emphasis(node: Emphasis, _: Parents | undefined, state: State, info: Info): string;
export namespace emphasis {
export { emphasisPeek as peek };
}
import type { Emphasis } from 'mdast';
import type { Parents } from 'mdast';
import type { State } from 'mdast-util-to-markdown';
import type { Info } from 'mdast-util-to-markdown';
/**
* @param {Emphasis} _
* @param {Parents | undefined} _1
* @param {State} state
* @returns {string}
*/
declare function emphasisPeek(_: Emphasis, _1: Parents | undefined, state: State): string;
export {};
//# sourceMappingURL=emphasis.d.ts.map
@@ -0,0 +1,113 @@
// lookup table from base64 character to byte
let encTable = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
// lookup table from base64 character *code* to byte because lookup by number is fast
let decTable = [];
for (let i = 0; i < encTable.length; i++)
decTable[encTable[i].charCodeAt(0)] = i;
// support base64url variants
decTable["-".charCodeAt(0)] = encTable.indexOf("+");
decTable["_".charCodeAt(0)] = encTable.indexOf("/");
/**
* Decodes a base64 string to a byte array.
*
* - ignores white-space, including line breaks and tabs
* - allows inner padding (can decode concatenated base64 strings)
* - does not require padding
* - understands base64url encoding:
* "-" instead of "+",
* "_" instead of "/",
* no padding
*/
export function base64decode(base64Str) {
// estimate byte size, not accounting for inner padding and whitespace
let es = base64Str.length * 3 / 4;
// if (es % 3 !== 0)
// throw new Error('invalid base64 string');
if (base64Str[base64Str.length - 2] == '=')
es -= 2;
else if (base64Str[base64Str.length - 1] == '=')
es -= 1;
let bytes = new Uint8Array(es), bytePos = 0, // position in byte array
groupPos = 0, // position in base64 group
b, // current byte
p = 0 // previous byte
;
for (let i = 0; i < base64Str.length; i++) {
b = decTable[base64Str.charCodeAt(i)];
if (b === undefined) {
// noinspection FallThroughInSwitchStatementJS
switch (base64Str[i]) {
case '=':
groupPos = 0; // reset state when padding found
case '\n':
case '\r':
case '\t':
case ' ':
continue; // skip white-space, and padding
default:
throw Error(`invalid base64 string.`);
}
}
switch (groupPos) {
case 0:
p = b;
groupPos = 1;
break;
case 1:
bytes[bytePos++] = p << 2 | (b & 48) >> 4;
p = b;
groupPos = 2;
break;
case 2:
bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
p = b;
groupPos = 3;
break;
case 3:
bytes[bytePos++] = (p & 3) << 6 | b;
groupPos = 0;
break;
}
}
if (groupPos == 1)
throw Error(`invalid base64 string.`);
return bytes.subarray(0, bytePos);
}
/**
* Encodes a byte array to a base64 string.
* Adds padding at the end.
* Does not insert newlines.
*/
export function base64encode(bytes) {
let base64 = '', groupPos = 0, // position in base64 group
b, // current byte
p = 0; // carry over from previous byte
for (let i = 0; i < bytes.length; i++) {
b = bytes[i];
switch (groupPos) {
case 0:
base64 += encTable[b >> 2];
p = (b & 3) << 4;
groupPos = 1;
break;
case 1:
base64 += encTable[p | b >> 4];
p = (b & 15) << 2;
groupPos = 2;
break;
case 2:
base64 += encTable[p | b >> 6];
base64 += encTable[b & 63];
groupPos = 0;
break;
}
}
// padding required?
if (groupPos) {
base64 += encTable[p];
base64 += '=';
if (groupPos == 1)
base64 += '=';
}
return base64;
}
@@ -0,0 +1,202 @@
# set-cookie-parser
[![Node.js CI](https://github.com/nfriedly/set-cookie-parser/actions/workflows/node.js.yml/badge.svg)](https://github.com/nfriedly/set-cookie-parser/actions/workflows/node.js.yml)
[![NPM version][npm-image]][npm-url]
[![npm downloads](https://img.shields.io/npm/dm/set-cookie-parser)][npm-url]
---
ℹ️ **Note for current users:** I'm considering some changes for the next major version and would appreciate your feedback: https://github.com/nfriedly/set-cookie-parser/discussions/68
---
Parses set-cookie headers into JavaScript objects
Accepts a single `set-cookie` header value, an array of `set-cookie` header values, a Node.js response object, or a `fetch()` `Response` object that may have 0 or more `set-cookie` headers.
Also accepts an optional options object. Defaults:
```js
{
decodeValues: true, // Calls decodeURIComponent on each value - default: true
map: false, // Return an object instead of an array - default: false
silent: false, // Suppress the warning that is logged when called on a request instead of a response - default: false
}
```
Returns either an array of cookie objects or a map of name => cookie object with `{map: true}`. Each cookie object will have, at a minimum `name` and `value` properties, and may have additional properties depending on the set-cookie header:
* `name` - cookie name (string)
* `value` - cookie value (string)
* `path` - URL path to limit the scope to (string or undefined)
* `domain` - domain to expand the scope to (string or undefined, may begin with "." to indicate the named domain or any subdomain of it)
* `expires` - absolute expiration date for the cookie (Date object or undefined)
* `maxAge` - relative expiration time of the cookie in seconds from when the client receives it (integer or undefined)
* Note: when using with [express's res.cookie() method](http://expressjs.com/en/4x/api.html#res.cookie), multiply `maxAge` by 1000 to convert to milliseconds.
* `secure` - indicates cookie should only be sent over HTTPs (true or undefined)
* `httpOnly` - indicates cookie should *not* be accessible to client-side JavaScript (true or undefined)
* `sameSite` - indicates if cookie should be included in cross-site requests ([more info](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value)) (string or undefined)
* Note: valid values are `"Strict"`, `"Lax"`, and `"None"`, but set-cookie-parser coppies the value verbatim and does *not* perform any validation.
* `partitioned` - indicates cookie should be scoped to the combination of 3rd party domain + top page domain ([more info](https://developer.mozilla.org/en-US/docs/Web/Privacy/Privacy_sandbox/Partitioned_cookies)) (true or undefined)
(The output format is loosely based on the input format of https://www.npmjs.com/package/cookie)
## Install
```sh
$ npm install --save set-cookie-parser
```
## Usage
### Get array of cookie objects
```js
var http = require('http');
var setCookie = require('set-cookie-parser');
http.get('http://example.com', function(res) {
var cookies = setCookie.parse(res, {
decodeValues: true // default: true
});
cookies.forEach(console.log);
}
```
Example output:
```js
[
{
name: 'bam',
value: 'baz'
},
{
name: 'foo',
value: 'bar',
path: '/',
expires: new Date('Tue Jul 01 2025 06:01:11 GMT-0400 (EDT)'),
maxAge: 1000,
domain: '.example.com',
secure: true,
httpOnly: true,
sameSite: 'lax'
}
]
```
### Get map of cookie objects
```js
var http = require('http');
var setCookie = require('set-cookie-parser');
http.get('http://example.com', function(res) {
var cookies = setCookie.parse(res, {
decodeValues: true, // default: true
map: true // default: false
});
var desiredCookie = cookies['session'];
console.log(desiredCookie);
});
```
Example output:
```js
{
bam: {
name: 'bam',
value: 'baz'
},
foo: {
name: 'foo',
value: 'bar',
path: '/',
expires: new Date('Tue Jul 01 2025 06:01:11 GMT-0400 (EDT)'),
maxAge: 1000,
domain: '.example.com',
secure: true,
httpOnly: true,
sameSite: 'lax'
}
}
```
### Creating a new, modified set-cookie header
This library can be used in conjunction with the [cookie](https://www.npmjs.com/package/cookie) library to modify and replace set-cookie headers:
```js
const libCookie = require('cookie');
const setCookie = require('set-cookie-parser');
function modifySetCookie(res){
// parse the set-cookie headers with this library
let cookies = setCookie.parse(res);
// modify the cookies here
// ...
// create new set-cookie headers using the cookie library
res.headers['set-cookie'] = cookies.map(function(cookie) {
return libCookie.serialize(cookie.name, cookie.value, cookie);
});
}
```
See a real-world example of this in [unblocker](https://github.com/nfriedly/node-unblocker/blob/08a89ec27274b46dcd80d0a324a59406f2bdad3d/lib/cookies.js#L67-L85)
## Usage in React Native (and with some other fetch implementations)
React Native follows the Fetch spec more closely and combines all of the Set-Cookie header values into a single string.
The `splitCookiesString` method reverses this.
```js
var setCookie = require('set-cookie-parser');
var response = fetch(/*...*/);
// This is mainly for React Native; Node.js does not combine set-cookie headers.
var combinedCookieHeader = response.headers.get('Set-Cookie');
var splitCookieHeaders = setCookie.splitCookiesString(combinedCookieHeader)
var cookies = setCookie.parse(splitCookieHeaders);
console.log(cookies); // should be an array of cookies
```
This behavior may become a default part of parse in the next major release, but requires the extra step for now.
Note that the `fetch()` spec now includes a `getSetCookie()` method that provides un-combined `Set-Cookie` headers. This library will automatically use that method if it is present.
## API
### parse(input, [options])
Parses cookies from a string, array of strings, or a http response object.
Always returns an array, regardless of input format. (Unless the `map` option is set, in which case it always returns an object.)
### parseString(individualSetCookieHeader, [options])
Parses a single set-cookie header value string. Options default is `{decodeValues: true}`. Used under-the-hood by `parse()`.
Returns an object.
### splitCookiesString(combinedSetCookieHeader)
It's uncommon, but the HTTP spec does allow for multiple of the same header to have their values combined (comma-separated) into a single header.
This method splits apart a combined header without choking on commas that appear within a cookie's value (or expiration date).
Returns an array of strings that may be passed to `parse()`.
## References
* [RFC 6265: HTTP State Management Mechanism](https://tools.ietf.org/html/rfc6265)
* [draft-ietf-httpbis-rfc6265bis-10](https://httpwg.org/http-extensions/draft-ietf-httpbis-rfc6265bis.html)
## License
MIT © [Nathan Friedly](http://www.nfriedly.com/)
[npm-image]: https://badge.fury.io/js/set-cookie-parser.svg
[npm-url]: https://npmjs.org/package/set-cookie-parser
@@ -0,0 +1,59 @@
{
"name": "strip-ansi",
"version": "7.1.2",
"description": "Strip ANSI escape codes from a string",
"license": "MIT",
"repository": "chalk/strip-ansi",
"funding": "https://github.com/chalk/strip-ansi?sponsor=1",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
"url": "https://sindresorhus.com"
},
"type": "module",
"exports": "./index.js",
"types": "./index.d.ts",
"sideEffects": false,
"engines": {
"node": ">=12"
},
"scripts": {
"test": "xo && ava && tsd"
},
"files": [
"index.js",
"index.d.ts"
],
"keywords": [
"strip",
"trim",
"remove",
"ansi",
"styles",
"color",
"colour",
"colors",
"terminal",
"console",
"string",
"tty",
"escape",
"formatting",
"rgb",
"256",
"shell",
"xterm",
"log",
"logging",
"command-line",
"text"
],
"dependencies": {
"ansi-regex": "^6.0.1"
},
"devDependencies": {
"ava": "^3.15.0",
"tsd": "^0.17.0",
"xo": "^0.44.0"
}
}
@@ -0,0 +1,202 @@
import {TableCollection as $788781baa30117fa$export$596e1b2e2cf93690} from "./TableCollection.mjs";
import {useTableState as $4a0dd036d492cee4$export$907bcc6c48325fd6} from "./useTableState.mjs";
import {CollectionBuilder as $2Mvwf$CollectionBuilder} from "@react-stately/collections";
import {useMemo as $2Mvwf$useMemo} from "react";
import {tableNestedRows as $2Mvwf$tableNestedRows} from "@react-stately/flags";
import {useControlledState as $2Mvwf$useControlledState} from "@react-stately/utils";
/*
* Copyright 2023 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
function $ee65a0057fd99531$export$34dfa8a1622185a4(props) {
let { selectionMode: selectionMode = 'none', showSelectionCheckboxes: showSelectionCheckboxes, showDragButtons: showDragButtons, UNSTABLE_expandedKeys: propExpandedKeys, UNSTABLE_defaultExpandedKeys: propDefaultExpandedKeys, UNSTABLE_onExpandedChange: UNSTABLE_onExpandedChange, children: children } = props;
if (!(0, $2Mvwf$tableNestedRows)()) throw new Error('Feature flag for table nested rows must be enabled to use useTreeGridState.');
let [expandedKeys, setExpandedKeys] = (0, $2Mvwf$useControlledState)(propExpandedKeys ? $ee65a0057fd99531$var$convertExpanded(propExpandedKeys) : undefined, propDefaultExpandedKeys ? $ee65a0057fd99531$var$convertExpanded(propDefaultExpandedKeys) : new Set(), UNSTABLE_onExpandedChange);
let context = (0, $2Mvwf$useMemo)(()=>({
showSelectionCheckboxes: showSelectionCheckboxes && selectionMode !== 'none',
showDragButtons: showDragButtons,
selectionMode: selectionMode,
columns: []
}), [
children,
showSelectionCheckboxes,
selectionMode,
showDragButtons
]);
let builder = (0, $2Mvwf$useMemo)(()=>new (0, $2Mvwf$CollectionBuilder)(), []);
let nodes = (0, $2Mvwf$useMemo)(()=>builder.build({
children: children
}, context), [
builder,
children,
context
]);
let treeGridCollection = (0, $2Mvwf$useMemo)(()=>{
return $ee65a0057fd99531$var$generateTreeGridCollection(nodes, {
showSelectionCheckboxes: showSelectionCheckboxes,
showDragButtons: showDragButtons,
expandedKeys: expandedKeys
});
}, [
nodes,
showSelectionCheckboxes,
showDragButtons,
expandedKeys
]);
let onToggle = (key)=>{
setExpandedKeys($ee65a0057fd99531$var$toggleKey(expandedKeys, key, treeGridCollection));
};
let collection = (0, $2Mvwf$useMemo)(()=>{
return new (0, $788781baa30117fa$export$596e1b2e2cf93690)(treeGridCollection.tableNodes, null, context);
}, [
context,
treeGridCollection.tableNodes
]);
let tableState = (0, $4a0dd036d492cee4$export$907bcc6c48325fd6)({
...props,
collection: collection
});
return {
...tableState,
keyMap: treeGridCollection.keyMap,
userColumnCount: treeGridCollection.userColumnCount,
expandedKeys: expandedKeys,
toggleKey: onToggle
};
}
function $ee65a0057fd99531$var$toggleKey(currentExpandedKeys, key, collection) {
let updatedExpandedKeys;
if (currentExpandedKeys === 'all') {
updatedExpandedKeys = new Set(collection.flattenedRows.filter((row)=>row.props.UNSTABLE_childItems || row.props.children.length > collection.userColumnCount).map((row)=>row.key));
updatedExpandedKeys.delete(key);
} else {
updatedExpandedKeys = new Set(currentExpandedKeys);
if (updatedExpandedKeys.has(key)) updatedExpandedKeys.delete(key);
else updatedExpandedKeys.add(key);
}
return updatedExpandedKeys;
}
function $ee65a0057fd99531$var$convertExpanded(expanded) {
if (!expanded) return new Set();
return expanded === 'all' ? 'all' : new Set(expanded);
}
function $ee65a0057fd99531$var$generateTreeGridCollection(nodes, opts) {
let { expandedKeys: expandedKeys = new Set() } = opts;
let body = null;
let flattenedRows = [];
let columnCount = 0;
let userColumnCount = 0;
let originalColumns = [];
let keyMap = new Map();
if (opts === null || opts === void 0 ? void 0 : opts.showSelectionCheckboxes) columnCount++;
if (opts === null || opts === void 0 ? void 0 : opts.showDragButtons) columnCount++;
let topLevelRows = [];
let visit = (node)=>{
switch(node.type){
case 'body':
body = node;
keyMap.set(body.key, body);
break;
case 'column':
if (!node.hasChildNodes) userColumnCount++;
break;
case 'item':
topLevelRows.push(node);
return;
}
for (let child of node.childNodes)visit(child);
};
for (let node of nodes){
if (node.type === 'column') originalColumns.push(node);
visit(node);
}
columnCount += userColumnCount;
// Update each grid node in the treegrid table with values specific to a treegrid structure. Also store a set of flattened row nodes for TableCollection to consume
let globalRowCount = 0;
let visitNode = (node, i)=>{
// Clone row node and its children so modifications to the node for treegrid specific values aren't applied on the nodes provided
// to TableCollection. Index, level, and parent keys are all changed to reflect a flattened row structure rather than the treegrid structure
// values automatically calculated via CollectionBuilder
if (node.type === 'item') {
let childNodes = [];
for (let child of node.childNodes)if (child.type === 'cell') {
let cellClone = {
...child
};
if (cellClone.index + 1 === columnCount) cellClone.nextKey = null;
childNodes.push({
...cellClone
});
}
let clone = {
...node,
childNodes: childNodes,
parentKey: body.key,
level: 1,
index: globalRowCount++
};
flattenedRows.push(clone);
}
let newProps = {};
// Assign indexOfType to cells and rows for aria-posinset
if (node.type !== 'placeholder' && node.type !== 'column') newProps['indexOfType'] = i;
// Use Object.assign instead of spread to preserve object reference for keyMap. Also ensures retrieving nodes
// via .childNodes returns the same object as the one found via keyMap look up
Object.assign(node, newProps);
keyMap.set(node.key, node);
let lastNode = null;
let rowIndex = 0;
for (let child of node.childNodes)if (!(child.type === 'item' && expandedKeys !== 'all' && !expandedKeys.has(node.key))) {
if (child.parentKey == null) // if child is a cell/expanded row/column and the parent key isn't already established by the collection, match child node to parent row
child.parentKey = node.key;
if (lastNode) {
lastNode.nextKey = child.key;
child.prevKey = lastNode.key;
} else child.prevKey = null;
if (child.type === 'item') visitNode(child, rowIndex++);
else // We enforce that the cells come before rows so can just reuse cell index
visitNode(child, child.index);
lastNode = child;
}
if (lastNode) lastNode.nextKey = null;
};
let last = null;
for (let [i, node] of topLevelRows.entries()){
visitNode(node, i);
if (last) {
last.nextKey = node.key;
node.prevKey = last.key;
} else node.prevKey = null;
last = node;
}
if (last) last.nextKey = null;
return {
keyMap: keyMap,
userColumnCount: userColumnCount,
flattenedRows: flattenedRows,
tableNodes: [
...originalColumns,
{
...body,
childNodes: flattenedRows
}
]
};
}
export {$ee65a0057fd99531$export$34dfa8a1622185a4 as UNSTABLE_useTreeGridState};
//# sourceMappingURL=useTreeGridState.module.js.map
@@ -0,0 +1,5 @@
import { ResolvedValueElementMetadata } from './ResolvedValueElementMetadata';
export interface ResolvedValueMetadata {
arguments: ResolvedValueElementMetadata[];
}
//# sourceMappingURL=ResolvedValueMetadata.d.ts.map
@@ -0,0 +1,661 @@
# Copyright (c) 2012 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import errno
import filecmp
import os.path
import re
import tempfile
import sys
import subprocess
from collections.abc import MutableSet
# A minimal memoizing decorator. It'll blow up if the args aren't immutable,
# among other "problems".
class memoize:
def __init__(self, func):
self.func = func
self.cache = {}
def __call__(self, *args):
try:
return self.cache[args]
except KeyError:
result = self.func(*args)
self.cache[args] = result
return result
class GypError(Exception):
"""Error class representing an error, which is to be presented
to the user. The main entry point will catch and display this.
"""
pass
def ExceptionAppend(e, msg):
"""Append a message to the given exception's message."""
if not e.args:
e.args = (msg,)
elif len(e.args) == 1:
e.args = (str(e.args[0]) + " " + msg,)
else:
e.args = (str(e.args[0]) + " " + msg,) + e.args[1:]
def FindQualifiedTargets(target, qualified_list):
"""
Given a list of qualified targets, return the qualified targets for the
specified |target|.
"""
return [t for t in qualified_list if ParseQualifiedTarget(t)[1] == target]
def ParseQualifiedTarget(target):
# Splits a qualified target into a build file, target name and toolset.
# NOTE: rsplit is used to disambiguate the Windows drive letter separator.
target_split = target.rsplit(":", 1)
if len(target_split) == 2:
[build_file, target] = target_split
else:
build_file = None
target_split = target.rsplit("#", 1)
if len(target_split) == 2:
[target, toolset] = target_split
else:
toolset = None
return [build_file, target, toolset]
def ResolveTarget(build_file, target, toolset):
# This function resolves a target into a canonical form:
# - a fully defined build file, either absolute or relative to the current
# directory
# - a target name
# - a toolset
#
# build_file is the file relative to which 'target' is defined.
# target is the qualified target.
# toolset is the default toolset for that target.
[parsed_build_file, target, parsed_toolset] = ParseQualifiedTarget(target)
if parsed_build_file:
if build_file:
# If a relative path, parsed_build_file is relative to the directory
# containing build_file. If build_file is not in the current directory,
# parsed_build_file is not a usable path as-is. Resolve it by
# interpreting it as relative to build_file. If parsed_build_file is
# absolute, it is usable as a path regardless of the current directory,
# and os.path.join will return it as-is.
build_file = os.path.normpath(
os.path.join(os.path.dirname(build_file), parsed_build_file)
)
# Further (to handle cases like ../cwd), make it relative to cwd)
if not os.path.isabs(build_file):
build_file = RelativePath(build_file, ".")
else:
build_file = parsed_build_file
if parsed_toolset:
toolset = parsed_toolset
return [build_file, target, toolset]
def BuildFile(fully_qualified_target):
# Extracts the build file from the fully qualified target.
return ParseQualifiedTarget(fully_qualified_target)[0]
def GetEnvironFallback(var_list, default):
"""Look up a key in the environment, with fallback to secondary keys
and finally falling back to a default value."""
for var in var_list:
if var in os.environ:
return os.environ[var]
return default
def QualifiedTarget(build_file, target, toolset):
# "Qualified" means the file that a target was defined in and the target
# name, separated by a colon, suffixed by a # and the toolset name:
# /path/to/file.gyp:target_name#toolset
fully_qualified = build_file + ":" + target
if toolset:
fully_qualified = fully_qualified + "#" + toolset
return fully_qualified
@memoize
def RelativePath(path, relative_to, follow_path_symlink=True):
# Assuming both |path| and |relative_to| are relative to the current
# directory, returns a relative path that identifies path relative to
# relative_to.
# If |follow_symlink_path| is true (default) and |path| is a symlink, then
# this method returns a path to the real file represented by |path|. If it is
# false, this method returns a path to the symlink. If |path| is not a
# symlink, this option has no effect.
# Convert to normalized (and therefore absolute paths).
if follow_path_symlink:
path = os.path.realpath(path)
else:
path = os.path.abspath(path)
relative_to = os.path.realpath(relative_to)
# On Windows, we can't create a relative path to a different drive, so just
# use the absolute path.
if sys.platform == "win32":
if (
os.path.splitdrive(path)[0].lower()
!= os.path.splitdrive(relative_to)[0].lower()
):
return path
# Split the paths into components.
path_split = path.split(os.path.sep)
relative_to_split = relative_to.split(os.path.sep)
# Determine how much of the prefix the two paths share.
prefix_len = len(os.path.commonprefix([path_split, relative_to_split]))
# Put enough ".." components to back up out of relative_to to the common
# prefix, and then append the part of path_split after the common prefix.
relative_split = [os.path.pardir] * (
len(relative_to_split) - prefix_len
) + path_split[prefix_len:]
if len(relative_split) == 0:
# The paths were the same.
return ""
# Turn it back into a string and we're done.
return os.path.join(*relative_split)
@memoize
def InvertRelativePath(path, toplevel_dir=None):
"""Given a path like foo/bar that is relative to toplevel_dir, return
the inverse relative path back to the toplevel_dir.
E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path)))
should always produce the empty string, unless the path contains symlinks.
"""
if not path:
return path
toplevel_dir = "." if toplevel_dir is None else toplevel_dir
return RelativePath(toplevel_dir, os.path.join(toplevel_dir, path))
def FixIfRelativePath(path, relative_to):
# Like RelativePath but returns |path| unchanged if it is absolute.
if os.path.isabs(path):
return path
return RelativePath(path, relative_to)
def UnrelativePath(path, relative_to):
# Assuming that |relative_to| is relative to the current directory, and |path|
# is a path relative to the dirname of |relative_to|, returns a path that
# identifies |path| relative to the current directory.
rel_dir = os.path.dirname(relative_to)
return os.path.normpath(os.path.join(rel_dir, path))
# re objects used by EncodePOSIXShellArgument. See IEEE 1003.1 XCU.2.2 at
# http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_02
# and the documentation for various shells.
# _quote is a pattern that should match any argument that needs to be quoted
# with double-quotes by EncodePOSIXShellArgument. It matches the following
# characters appearing anywhere in an argument:
# \t, \n, space parameter separators
# # comments
# $ expansions (quoted to always expand within one argument)
# % called out by IEEE 1003.1 XCU.2.2
# & job control
# ' quoting
# (, ) subshell execution
# *, ?, [ pathname expansion
# ; command delimiter
# <, >, | redirection
# = assignment
# {, } brace expansion (bash)
# ~ tilde expansion
# It also matches the empty string, because "" (or '') is the only way to
# represent an empty string literal argument to a POSIX shell.
#
# This does not match the characters in _escape, because those need to be
# backslash-escaped regardless of whether they appear in a double-quoted
# string.
_quote = re.compile("[\t\n #$%&'()*;<=>?[{|}~]|^$")
# _escape is a pattern that should match any character that needs to be
# escaped with a backslash, whether or not the argument matched the _quote
# pattern. _escape is used with re.sub to backslash anything in _escape's
# first match group, hence the (parentheses) in the regular expression.
#
# _escape matches the following characters appearing anywhere in an argument:
# " to prevent POSIX shells from interpreting this character for quoting
# \ to prevent POSIX shells from interpreting this character for escaping
# ` to prevent POSIX shells from interpreting this character for command
# substitution
# Missing from this list is $, because the desired behavior of
# EncodePOSIXShellArgument is to permit parameter (variable) expansion.
#
# Also missing from this list is !, which bash will interpret as the history
# expansion character when history is enabled. bash does not enable history
# by default in non-interactive shells, so this is not thought to be a problem.
# ! was omitted from this list because bash interprets "\!" as a literal string
# including the backslash character (avoiding history expansion but retaining
# the backslash), which would not be correct for argument encoding. Handling
# this case properly would also be problematic because bash allows the history
# character to be changed with the histchars shell variable. Fortunately,
# as history is not enabled in non-interactive shells and
# EncodePOSIXShellArgument is only expected to encode for non-interactive
# shells, there is no room for error here by ignoring !.
_escape = re.compile(r'(["\\`])')
def EncodePOSIXShellArgument(argument):
"""Encodes |argument| suitably for consumption by POSIX shells.
argument may be quoted and escaped as necessary to ensure that POSIX shells
treat the returned value as a literal representing the argument passed to
this function. Parameter (variable) expansions beginning with $ are allowed
to remain intact without escaping the $, to allow the argument to contain
references to variables to be expanded by the shell.
"""
if not isinstance(argument, str):
argument = str(argument)
if _quote.search(argument):
quote = '"'
else:
quote = ""
encoded = quote + re.sub(_escape, r"\\\1", argument) + quote
return encoded
def EncodePOSIXShellList(list):
"""Encodes |list| suitably for consumption by POSIX shells.
Returns EncodePOSIXShellArgument for each item in list, and joins them
together using the space character as an argument separator.
"""
encoded_arguments = []
for argument in list:
encoded_arguments.append(EncodePOSIXShellArgument(argument))
return " ".join(encoded_arguments)
def DeepDependencyTargets(target_dicts, roots):
"""Returns the recursive list of target dependencies."""
dependencies = set()
pending = set(roots)
while pending:
# Pluck out one.
r = pending.pop()
# Skip if visited already.
if r in dependencies:
continue
# Add it.
dependencies.add(r)
# Add its children.
spec = target_dicts[r]
pending.update(set(spec.get("dependencies", [])))
pending.update(set(spec.get("dependencies_original", [])))
return list(dependencies - set(roots))
def BuildFileTargets(target_list, build_file):
"""From a target_list, returns the subset from the specified build_file.
"""
return [p for p in target_list if BuildFile(p) == build_file]
def AllTargets(target_list, target_dicts, build_file):
"""Returns all targets (direct and dependencies) for the specified build_file.
"""
bftargets = BuildFileTargets(target_list, build_file)
deptargets = DeepDependencyTargets(target_dicts, bftargets)
return bftargets + deptargets
def WriteOnDiff(filename):
"""Write to a file only if the new contents differ.
Arguments:
filename: name of the file to potentially write to.
Returns:
A file like object which will write to temporary file and only overwrite
the target if it differs (on close).
"""
class Writer:
"""Wrapper around file which only covers the target if it differs."""
def __init__(self):
# On Cygwin remove the "dir" argument
# `C:` prefixed paths are treated as relative,
# consequently ending up with current dir "/cygdrive/c/..."
# being prefixed to those, which was
# obviously a non-existent path,
# for example: "/cygdrive/c/<some folder>/C:\<my win style abs path>".
# For more details see:
# https://docs.python.org/2/library/tempfile.html#tempfile.mkstemp
base_temp_dir = "" if IsCygwin() else os.path.dirname(filename)
# Pick temporary file.
tmp_fd, self.tmp_path = tempfile.mkstemp(
suffix=".tmp",
prefix=os.path.split(filename)[1] + ".gyp.",
dir=base_temp_dir,
)
try:
self.tmp_file = os.fdopen(tmp_fd, "wb")
except Exception:
# Don't leave turds behind.
os.unlink(self.tmp_path)
raise
def __getattr__(self, attrname):
# Delegate everything else to self.tmp_file
return getattr(self.tmp_file, attrname)
def close(self):
try:
# Close tmp file.
self.tmp_file.close()
# Determine if different.
same = False
try:
same = filecmp.cmp(self.tmp_path, filename, False)
except OSError as e:
if e.errno != errno.ENOENT:
raise
if same:
# The new file is identical to the old one, just get rid of the new
# one.
os.unlink(self.tmp_path)
else:
# The new file is different from the old one,
# or there is no old one.
# Rename the new file to the permanent name.
#
# tempfile.mkstemp uses an overly restrictive mode, resulting in a
# file that can only be read by the owner, regardless of the umask.
# There's no reason to not respect the umask here,
# which means that an extra hoop is required
# to fetch it and reset the new file's mode.
#
# No way to get the umask without setting a new one? Set a safe one
# and then set it back to the old value.
umask = os.umask(0o77)
os.umask(umask)
os.chmod(self.tmp_path, 0o666 & ~umask)
if sys.platform == "win32" and os.path.exists(filename):
# NOTE: on windows (but not cygwin) rename will not replace an
# existing file, so it must be preceded with a remove.
# Sadly there is no way to make the switch atomic.
os.remove(filename)
os.rename(self.tmp_path, filename)
except Exception:
# Don't leave turds behind.
os.unlink(self.tmp_path)
raise
def write(self, s):
self.tmp_file.write(s.encode("utf-8"))
return Writer()
def EnsureDirExists(path):
"""Make sure the directory for |path| exists."""
try:
os.makedirs(os.path.dirname(path))
except OSError:
pass
def GetFlavor(params):
"""Returns |params.flavor| if it's set, the system's default flavor else."""
flavors = {
"cygwin": "win",
"win32": "win",
"darwin": "mac",
}
if "flavor" in params:
return params["flavor"]
if sys.platform in flavors:
return flavors[sys.platform]
if sys.platform.startswith("sunos"):
return "solaris"
if sys.platform.startswith(("dragonfly", "freebsd")):
return "freebsd"
if sys.platform.startswith("openbsd"):
return "openbsd"
if sys.platform.startswith("netbsd"):
return "netbsd"
if sys.platform.startswith("aix"):
return "aix"
if sys.platform.startswith(("os390", "zos")):
return "zos"
if sys.platform == "os400":
return "os400"
return "linux"
def CopyTool(flavor, out_path, generator_flags={}):
"""Finds (flock|mac|win)_tool.gyp in the gyp directory and copies it
to |out_path|."""
# aix and solaris just need flock emulation. mac and win use more complicated
# support scripts.
prefix = {
"aix": "flock",
"os400": "flock",
"solaris": "flock",
"mac": "mac",
"ios": "mac",
"win": "win",
}.get(flavor, None)
if not prefix:
return
# Slurp input file.
source_path = os.path.join(
os.path.dirname(os.path.abspath(__file__)), "%s_tool.py" % prefix
)
with open(source_path) as source_file:
source = source_file.readlines()
# Set custom header flags.
header = "# Generated by gyp. Do not edit.\n"
mac_toolchain_dir = generator_flags.get("mac_toolchain_dir", None)
if flavor == "mac" and mac_toolchain_dir:
header += "import os;\nos.environ['DEVELOPER_DIR']='%s'\n" % mac_toolchain_dir
# Add header and write it out.
tool_path = os.path.join(out_path, "gyp-%s-tool" % prefix)
with open(tool_path, "w") as tool_file:
tool_file.write("".join([source[0], header] + source[1:]))
# Make file executable.
os.chmod(tool_path, 0o755)
# From Alex Martelli,
# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52560
# ASPN: Python Cookbook: Remove duplicates from a sequence
# First comment, dated 2001/10/13.
# (Also in the printed Python Cookbook.)
def uniquer(seq, idfun=lambda x: x):
seen = {}
result = []
for item in seq:
marker = idfun(item)
if marker in seen:
continue
seen[marker] = 1
result.append(item)
return result
# Based on http://code.activestate.com/recipes/576694/.
class OrderedSet(MutableSet):
def __init__(self, iterable=None):
self.end = end = []
end += [None, end, end] # sentinel node for doubly linked list
self.map = {} # key --> [key, prev, next]
if iterable is not None:
self |= iterable
def __len__(self):
return len(self.map)
def __contains__(self, key):
return key in self.map
def add(self, key):
if key not in self.map:
end = self.end
curr = end[1]
curr[2] = end[1] = self.map[key] = [key, curr, end]
def discard(self, key):
if key in self.map:
key, prev_item, next_item = self.map.pop(key)
prev_item[2] = next_item
next_item[1] = prev_item
def __iter__(self):
end = self.end
curr = end[2]
while curr is not end:
yield curr[0]
curr = curr[2]
def __reversed__(self):
end = self.end
curr = end[1]
while curr is not end:
yield curr[0]
curr = curr[1]
# The second argument is an addition that causes a pylint warning.
def pop(self, last=True): # pylint: disable=W0221
if not self:
raise KeyError("set is empty")
key = self.end[1][0] if last else self.end[2][0]
self.discard(key)
return key
def __repr__(self):
if not self:
return f"{self.__class__.__name__}()"
return f"{self.__class__.__name__}({list(self)!r})"
def __eq__(self, other):
if isinstance(other, OrderedSet):
return len(self) == len(other) and list(self) == list(other)
return set(self) == set(other)
# Extensions to the recipe.
def update(self, iterable):
for i in iterable:
if i not in self:
self.add(i)
class CycleError(Exception):
"""An exception raised when an unexpected cycle is detected."""
def __init__(self, nodes):
self.nodes = nodes
def __str__(self):
return "CycleError: cycle involving: " + str(self.nodes)
def TopologicallySorted(graph, get_edges):
r"""Topologically sort based on a user provided edge definition.
Args:
graph: A list of node names.
get_edges: A function mapping from node name to a hashable collection
of node names which this node has outgoing edges to.
Returns:
A list containing all of the node in graph in topological order.
It is assumed that calling get_edges once for each node and caching is
cheaper than repeatedly calling get_edges.
Raises:
CycleError in the event of a cycle.
Example:
graph = {'a': '$(b) $(c)', 'b': 'hi', 'c': '$(b)'}
def GetEdges(node):
return re.findall(r'\$\(([^))]\)', graph[node])
print TopologicallySorted(graph.keys(), GetEdges)
==>
['a', 'c', b']
"""
get_edges = memoize(get_edges)
visited = set()
visiting = set()
ordered_nodes = []
def Visit(node):
if node in visiting:
raise CycleError(visiting)
if node in visited:
return
visited.add(node)
visiting.add(node)
for neighbor in get_edges(node):
Visit(neighbor)
visiting.remove(node)
ordered_nodes.insert(0, node)
for node in sorted(graph):
Visit(node)
return ordered_nodes
def CrossCompileRequested():
# TODO: figure out how to not build extra host objects in the
# non-cross-compile case when this is enabled, and enable unconditionally.
return (
os.environ.get("GYP_CROSSCOMPILE")
or os.environ.get("AR_host")
or os.environ.get("CC_host")
or os.environ.get("CXX_host")
or os.environ.get("AR_target")
or os.environ.get("CC_target")
or os.environ.get("CXX_target")
)
def IsCygwin():
try:
out = subprocess.Popen(
"uname", stdout=subprocess.PIPE, stderr=subprocess.STDOUT
)
stdout = out.communicate()[0].decode("utf-8")
return "CYGWIN" in str(stdout)
except Exception:
return False
@@ -0,0 +1,47 @@
/**
* @author Toru Nagashima
* See LICENSE file in root directory for full license.
*/
"use strict"
const { READ } = require("@eslint-community/eslint-utils")
const checkForPreferGlobal = require("../../util/check-prefer-global")
const traceMap = {
globals: {
TextDecoder: { [READ]: true },
},
modules: {
util: { TextDecoder: { [READ]: true } },
"node:util": { TextDecoder: { [READ]: true } },
},
}
/** @type {import('../rule-module').RuleModule} */
module.exports = {
meta: {
docs: {
description:
'enforce either `TextDecoder` or `require("util").TextDecoder`',
recommended: false,
url: "https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/text-decoder.md",
},
type: "suggestion",
fixable: null,
schema: [{ enum: ["always", "never"] }],
messages: {
preferGlobal:
"Unexpected use of 'require(\"util\").TextDecoder'. Use the global variable 'TextDecoder' instead.",
preferModule:
"Unexpected use of the global variable 'TextDecoder'. Use 'require(\"util\").TextDecoder' instead.",
},
},
create(context) {
return {
"Program:exit"() {
checkForPreferGlobal(context, traceMap)
},
}
},
}
@@ -0,0 +1,5 @@
export interface InjectFromOptionsLifecycle {
extendPreDestroyMethods?: boolean | undefined;
extendPostConstructMethods?: boolean | undefined;
}
//# sourceMappingURL=InjectFromOptionsLifecycle.d.ts.map
@@ -0,0 +1,24 @@
import { MappedResult } from '../mapped/index.mjs';
import { Pick } from './pick.mjs';
import { Clone } from '../clone/value.mjs';
// prettier-ignore
function FromPropertyKey(type, key, options) {
return {
[key]: Pick(type, [key], Clone(options))
};
}
// prettier-ignore
function FromPropertyKeys(type, propertyKeys, options) {
return propertyKeys.reduce((result, leftKey) => {
return { ...result, ...FromPropertyKey(type, leftKey, options) };
}, {});
}
// prettier-ignore
function FromMappedKey(type, mappedKey, options) {
return FromPropertyKeys(type, mappedKey.keys, options);
}
// prettier-ignore
export function PickFromMappedKey(type, mappedKey, options) {
const properties = FromMappedKey(type, mappedKey, options);
return MappedResult(properties);
}
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0FH,QAAA,MAAM,IAAI,eAAiB,CAAA;AAC3B,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAA;AAC5D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG;IAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAKzD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAA;AAC9D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,CAAA;AAyB9C,cAAM,SAAU,SAAQ,KAAK,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,MAAM;CAIzB;AACD,YAAY,EAAE,SAAS,EAAE,CAAA;AACzB,YAAY,EAAE,KAAK,EAAE,CAAA;AAErB,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,EAAE,CAAA;AACvC,cAAM,KAAK;;IACT,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IAGd,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;gBASnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE;IAU3C,IAAI,CAAC,CAAC,EAAE,KAAK;IAGb,GAAG,IAAI,KAAK;CAGb;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG;IACxD,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC1C,iBAAiB,EAAE,eAAe,CAAA;IAClC,oBAAoB,EAAE,CAAC,GAAG,SAAS,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI;IAC9B,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,QAAQ,CAAC,aAAa;CAC/B,CAAA;AAED,yBAAiB,QAAQ,CAAC;IACxB;;OAEG;IACH,KAAY,IAAI,GAAG,MAAM,CAAA;IAEzB;;;OAGG;IACH,KAAY,YAAY,GAAG,MAAM,CAAA;IAEjC;;OAEG;IACH,KAAY,KAAK,GAAG,MAAM,CAAA;IAE1B;;;;;;;;;;;;;OAaG;IACH,KAAY,aAAa,GACrB,OAAO,GACP,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,OAAO,CAAA;IACX;;;;OAIG;IACH,KAAY,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAC3B,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,aAAa,KAClB,IAAI,CAAA;IAET;;;OAGG;IACH,KAAY,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;IAE7D;;;OAGG;IACH,UAAiB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO;QAChD,MAAM,EAAE,WAAW,CAAA;QACnB,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACtC;;;WAGG;QACH,OAAO,EAAE,EAAE,CAAA;KACZ;IAED;;;;;;;;;OASG;IACH,UAAiB,MAAM,CAAC,CAAC;QACvB;;;;;;;WAOG;QACH,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;QAE3C;;WAEG;QACH,GAAG,CAAC,EAAE,YAAY,CAAA;QAElB;;WAEG;QACH,KAAK,CAAC,EAAE,YAAY,CAAA;QAEpB;;WAEG;QACH,GAAG,CAAC,EAAE,YAAY,CAAA;QAElB;;WAEG;QACH,YAAY,CAAC,EAAE,YAAY,CAAA;QAE3B;;WAEG;QACH,SAAS,CAAC,EAAE,IAAI,CAAA;QAEhB;;WAEG;QACH,mBAAmB,CAAC,EAAE,IAAI,CAAA;QAE1B;;;WAGG;QACH,oBAAoB,CAAC,EAAE,IAAI,CAAA;QAE3B;;;WAGG;QACH,QAAQ,CAAC,EAAE,CAAC,CAAA;QAEZ;;;;;;WAMG;QACH,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;QAE9B;;;;;;;;;;;;;WAaG;QACH,KAAK,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAA;QAEjE;;WAEG;QACH,eAAe,CAAC,EAAE,IAAI,CAAA;QAEtB;;;WAGG;QACH,YAAY,CAAC,EAAE,IAAI,CAAA;QAEnB;;;;WAIG;QACH,UAAU,CAAC,EAAE,KAAK,CAAA;QAElB;;WAEG;QACH,YAAY,CAAC,EAAE,IAAI,CAAA;QAEnB;;;WAGG;QACH,iBAAiB,CAAC,EAAE,IAAI,CAAA;QAExB;;WAEG;QACH,aAAa,CAAC,EAAE,IAAI,CAAA;QAEpB;;WAEG;QACH,aAAa,CAAC,EAAE,IAAI,CAAA;QAEpB;;;;;;;;WAQG;QACH,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAA;QAE9B;;WAEG;QACH,aAAa,CAAC,EAAE,IAAI,CAAA;KACrB;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAiB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CACrD,SAAQ,IAAI,CACV,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EACnB,YAAY,GACZ,gBAAgB,GAChB,oBAAoB,GACpB,iBAAiB,GACjB,KAAK,GACL,gBAAgB,GAChB,aAAa,GACb,0BAA0B,GAC1B,4BAA4B,GAC5B,kBAAkB,GAClB,wBAAwB,CAC3B;QACD,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QAClB,IAAI,CAAC,EAAE,IAAI,CAAA;KACZ;IAED;;OAEG;IACH,UAAiB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACpC,SAAQ,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC;;;WAGG;QACH,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,EAAE,CAAA;QACZ,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;KACnB;IACD;;;OAGG;IACH,UAAiB,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/C,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,OAAO,EAAE,EAAE,CAAA;KACZ;IACD;;;OAGG;IACH,UAAiB,qBAAqB,CAAC,CAAC,EAAE,CAAC,CACzC,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;QACrC,OAAO,CAAC,EAAE,SAAS,CAAA;KACpB;IAED,UAAiB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAC7C,SAAQ,IAAI,CACV,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EACnB,YAAY,GACZ,gBAAgB,GAChB,oBAAoB,GACpB,iBAAiB,GACjB,KAAK,GACL,gBAAgB,GAChB,aAAa,GACb,0BAA0B,GAC1B,4BAA4B,GAC5B,kBAAkB,GAClB,wBAAwB,CAC3B;QACD;;;WAGG;QACH,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,EAAE,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;KACnB;IACD;;;OAGG;IACH,UAAiB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9C,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,OAAO,EAAE,EAAE,CAAA;KACZ;IACD;;;OAGG;IACH,UAAiB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CACxC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;QACpC,OAAO,CAAC,EAAE,SAAS,CAAA;KACpB;IAED;;;OAGG;IACH,UAAiB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO;QACjD,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACtC;;;WAGG;QACH,OAAO,EAAE,EAAE,CAAA;KACZ;IAED;;;;;;;;;;;;OAYG;IACH,UAAiB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CACrD,SAAQ,IAAI,CACV,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EACnB,YAAY,GACZ,gBAAgB,GAChB,oBAAoB,GACpB,iBAAiB,GACjB,KAAK,GACL,gBAAgB,GAChB,aAAa,CAChB;QACD,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QAClB,IAAI,CAAC,EAAE,IAAI,Line truncated
@@ -0,0 +1,9 @@
"use strict";
// Generated using scripts/write-decode-map.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = new Uint16Array(
// prettier-ignore
"\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022"
.split("")
.map(function (c) { return c.charCodeAt(0); }));
//# sourceMappingURL=decode-data-xml.js.map
@@ -0,0 +1 @@
{"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;AAmGM,SAAS,yCACd,KAA8B,EAC9B,GAA0B;IAE1B,IAAI,oBACF,mBAAmB,qBACnB,aAAa,mBACb,aAAa,mBACb,aAAa,aACb,OAAO,4BACP,qBAAqB,QACtB,GAAG;IACJ,IAAI,CAAC,OAAO,SAAS,GAAG,CAAA,GAAA,2CAAiB,EAAU,MAAM,KAAK,EAAE,MAAM,YAAY,IAAI,IAAI,MAAM,QAAQ;IACxG,IAAI,kBAAC,cAAc,EAAC,GAAG,CAAA,GAAA,kCAAW,EAA+B,OAAO;IACxE,IAAI,kBAAkB,CAAA,GAAA,8CAAqB,EAAE;QAC3C,GAAG,KAAK;eACR;IACF;IACA,IAAI,aAAC,SAAS,oBAAE,gBAAgB,qBAAE,iBAAiB,EAAC,GAAG,gBAAgB,iBAAiB;IACxF,IAAI,cAAC,UAAU,cAAE,UAAU,oBAAE,gBAAgB,qBAAE,iBAAiB,EAAC,GAAG,CAAA,GAAA,8BAAO,EAAE;QAC3E,GAAG,KAAK;mBACR;QACA,cAAc,MAAM,YAAY,IAAI;IACtC;IACA,IAAI,WAAW,CAAA,GAAA,oCAAa,EAAE,OAAO;QAAC,WAAW;IAAI;IAErD,MAAM,iBAAiB;cACrB;QACA,SAAS,MAAM,OAAO;IACxB;IAEA,CAAA,GAAA,kCAAW,EAAE,KAAK,OAAO;IACzB,CAAA,GAAA,sCAAgB,EAAE,OAAO,iBAAiB;IAE1C,CAAA,GAAA,sBAAQ,EAAE;QACR,wGAAwG;QACxG,gGAAgG;QAChG,4FAA4F;QAC5F,2FAA2F;QAC3F,wBAAwB;QACxB,iDAAiD;QACjD,iDAAiD;QACjD,IAAI,IAAI,OAAO,YAAY,CAAA,GAAA,oCAAa,EAAE,IAAI,OAAO,EAAE,mBAAmB,EAAE;YAC1E,IAAI,QAAQ,IAAI,OAAO;YACvB,OAAO,cAAc,CAAC,OAAO,gBAAgB;gBAC3C,KAAK,IAAM,MAAM,KAAK;gBACtB,KAAK,KAAO;gBACZ,cAAc;YAChB;QACF;IACF,GAAG;QAAC;KAAI;IAER,OAAO;oBACL;QACA,YAAY,CAAA,GAAA,gCAAS,EACnB,UACA,qBAAqB,UAAU,iBAAiB,WAChD;YACE,UAAU;YACV,UAAU;YACV,UAAU,cAAc,uBAAuB;YAC/C,iBAAiB,AAAC,cAAc,uBAAuB,UAAW;YAClE,gBAAgB,aAAa;YAC7B,qBAAqB,KAAK,CAAC,oBAAoB;YAC/C,yBAAyB,KAAK,CAAC,wBAAwB;YACvD,qBAAqB,KAAK,CAAC,oBAAoB;YAC/C,iBAAiB,KAAK,CAAC,gBAAgB;mBACvC;YACA,UAAU,CAAC,IAAqC,SAAS,EAAE,MAAM,CAAC,KAAK;YACvE,cAAc,MAAM,YAAY;YAChC,gBAAgB,MAAM,cAAc;YACpC,WAAW,MAAM,SAAS;YAC1B,WAAW,MAAM,SAAS;YAC1B,MAAM,MAAM,IAAI;YAChB,aAAa,MAAM,WAAW;YAC9B,WAAW,MAAM,SAAS;YAE1B,mBAAmB;YACnB,QAAQ,MAAM,MAAM;YACpB,OAAO,MAAM,KAAK;YAClB,SAAS,MAAM,OAAO;YAEtB,qBAAqB;YACrB,kBAAkB,MAAM,gBAAgB;YACxC,oBAAoB,MAAM,kBAAkB;YAC5C,qBAAqB,MAAM,mBAAmB;YAE9C,mBAAmB;YACnB,UAAU,MAAM,QAAQ;YAExB,eAAe;YACf,eAAe,MAAM,aAAa;YAClC,SAAS,MAAM,OAAO;YACtB,GAAG,cAAc;YACjB,GAAG,UAAU;QACf;0BAEF;2BACA;mBACA;0BACA;2BACA;IACF;AACF","sources":["packages/@react-aria/textfield/src/useTextField.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaTextFieldProps} from '@react-types/textfield';\nimport {\n ChangeEvent,\n HTMLAttributes,\n type JSX,\n LabelHTMLAttributes,\n RefObject,\n useEffect\n} from 'react';\nimport {DOMAttributes, ValidationResult} from '@react-types/shared';\nimport {filterDOMProps, getOwnerWindow, mergeProps, useFormReset} from '@react-aria/utils';\nimport {useControlledState} from '@react-stately/utils';\nimport {useField} from '@react-aria/label';\nimport {useFocusable} from '@react-aria/focus';\nimport {useFormValidation} from '@react-aria/form';\nimport {useFormValidationState} from '@react-stately/form';\n\n/**\n * A map of HTML element names and their interface types.\n * For example `'a'` -> `HTMLAnchorElement`.\n */\ntype IntrinsicHTMLElements = {\n [K in keyof IntrinsicHTMLAttributes]: IntrinsicHTMLAttributes[K] extends HTMLAttributes<infer T> ? T : never\n};\n\n/**\n * A map of HTML element names and their attribute interface types.\n * For example `'a'` -> `AnchorHTMLAttributes<HTMLAnchorElement>`.\n */\ntype IntrinsicHTMLAttributes = JSX.IntrinsicElements;\n\ntype DefaultElementType = 'input';\n\n/**\n * The intrinsic HTML element names that `useTextField` supports; e.g. `input`,\n * `textarea`.\n */\ntype TextFieldIntrinsicElements = keyof Pick<IntrinsicHTMLElements, 'input' | 'textarea'>;\n\n/**\n * The HTML element interfaces that `useTextField` supports based on what is\n * defined for `TextFieldIntrinsicElements`; e.g. `HTMLInputElement`,\n * `HTMLTextAreaElement`.\n */\ntype TextFieldHTMLElementType = Pick<IntrinsicHTMLElements, TextFieldIntrinsicElements>;\n\n/**\n * The HTML attributes interfaces that `useTextField` supports based on what\n * is defined for `TextFieldIntrinsicElements`; e.g. `InputHTMLAttributes`,\n * `TextareaHTMLAttributes`.\n */\ntype TextFieldHTMLAttributesType = Pick<IntrinsicHTMLAttributes, TextFieldIntrinsicElements>;\n\n/**\n * The type of `inputProps` returned by `useTextField`; e.g. `InputHTMLAttributes`,\n * `TextareaHTMLAttributes`.\n */\ntype TextFieldInputProps<T extends TextFieldIntrinsicElements> = TextFieldHTMLAttributesType[T];\n\nexport interface AriaTextFieldOptions<T extends TextFieldIntrinsicElements> extends AriaTextFieldProps<TextFieldHTMLElementType[T]> {\n /**\n * The HTML element used to render the input, e.g. 'input', oLine truncated
@@ -0,0 +1,106 @@
{
"name": "foreground-child",
"version": "3.3.1",
"description": "Run a child as if it's the foreground process. Give it stdio. Exit when it exits.",
"main": "./dist/commonjs/index.js",
"types": "./dist/commonjs/index.d.ts",
"exports": {
"./watchdog": {
"import": {
"types": "./dist/esm/watchdog.d.ts",
"default": "./dist/esm/watchdog.js"
},
"require": {
"types": "./dist/commonjs/watchdog.d.ts",
"default": "./dist/commonjs/watchdog.js"
}
},
"./proxy-signals": {
"import": {
"types": "./dist/esm/proxy-signals.d.ts",
"default": "./dist/esm/proxy-signals.js"
},
"require": {
"types": "./dist/commonjs/proxy-signals.d.ts",
"default": "./dist/commonjs/proxy-signals.js"
}
},
"./package.json": "./package.json",
".": {
"import": {
"types": "./dist/esm/index.d.ts",
"default": "./dist/esm/index.js"
},
"require": {
"types": "./dist/commonjs/index.d.ts",
"default": "./dist/commonjs/index.js"
}
}
},
"files": [
"dist"
],
"engines": {
"node": ">=14"
},
"dependencies": {
"cross-spawn": "^7.0.6",
"signal-exit": "^4.0.1"
},
"scripts": {
"preversion": "npm test",
"postversion": "npm publish",
"prepublishOnly": "git push origin --follow-tags",
"prepare": "tshy",
"pretest": "npm run prepare",
"presnap": "npm run prepare",
"test": "tap",
"snap": "tap",
"format": "prettier --write . --log-level warn",
"typedoc": "typedoc --tsconfig .tshy/esm.json ./src/*.ts"
},
"prettier": {
"experimentalTernaries": true,
"semi": false,
"printWidth": 75,
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"jsxSingleQuote": false,
"bracketSameLine": true,
"arrowParens": "avoid",
"endOfLine": "lf"
},
"tap": {
"typecheck": true
},
"repository": {
"type": "git",
"url": "git+https://github.com/tapjs/foreground-child.git"
},
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
"license": "ISC",
"devDependencies": {
"@types/cross-spawn": "^6.0.2",
"@types/node": "^18.15.11",
"@types/tap": "^15.0.8",
"prettier": "^3.3.2",
"tap": "^21.1.0",
"tshy": "^3.0.2",
"typedoc": "^0.24.2",
"typescript": "^5.0.2"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
},
"tshy": {
"exports": {
"./watchdog": "./src/watchdog.ts",
"./proxy-signals": "./src/proxy-signals.ts",
"./package.json": "./package.json",
".": "./src/index.ts"
}
},
"type": "module",
"module": "./dist/esm/index.js"
}
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["../../src/prototype/calculations/getBaseType.ts","../../src/prototype/calculations/findInPrototypeChain.ts"],"sourcesContent":[null,null],"names":["getBaseType","type","prototype","Object","getPrototypeOf","baseType","constructor","findInPrototypeChain","reader","currentType","undefined","value"],"mappings":"AAIM,SAAUA,EACdC,GAEA,MAAMC,EAA8BC,OAAOC,eACzCH,EAAKC,WAGDG,EAAgCH,GAAWI,YAEjD,OAAOD,CACT,CCVM,SAAUE,EACdN,EACAO,GAEA,IACE,IAAIC,EAAmCR,OACvBS,IAAhBD,EACAA,EAAcT,EAAYS,GAC1B,CACA,MAAME,EAAuBH,EAAOC,GAEpC,QAAcC,IAAVC,EACF,OAAOA,CAEX,CAGF"}
@@ -0,0 +1,34 @@
# promise-inflight
One promise for multiple requests in flight to avoid async duplication
## USAGE
```javascript
const inflight = require('promise-inflight')
// some request that does some stuff
function req(key) {
// key is any random string. like a url or filename or whatever.
return inflight(key, () => {
// this is where you'd fetch the url or whatever
return Promise.delay(100)
})
}
// only assigns a single setTimeout
// when it dings, all thens get called with the same result. (There's only
// one underlying promise.)
req('foo').then(…)
req('foo').then(…)
req('foo').then(…)
req('foo').then(…)
```
## SEE ALSO
* [inflight](https://npmjs.com/package/inflight) - For the callback based function on which this is based.
## STILL NEEDS
Tests!
@@ -0,0 +1,21 @@
/*
Fraction.js v5.3.4 8/22/2025
https://raw.org/article/rational-numbers-in-javascript/
Copyright (c) 2025, Robert Eisele (https://raw.org/)
Licensed under the MIT license.
*/
'use strict';(function(F){function D(){return Error("Parameters must be integer")}function x(){return Error("Invalid argument")}function C(){return Error("Division by Zero")}function q(a,b){var d=g,c=h;let f=h;if(void 0!==a&&null!==a)if(void 0!==b){if("bigint"===typeof a)d=a;else{if(isNaN(a))throw x();if(0!==a%1)throw D();d=BigInt(a)}if("bigint"===typeof b)c=b;else{if(isNaN(b))throw x();if(0!==b%1)throw D();c=BigInt(b)}f=d*c}else if("object"===typeof a){if("d"in a&&"n"in a)d=BigInt(a.n),c=BigInt(a.d),
"s"in a&&(d*=BigInt(a.s));else if(0 in a)d=BigInt(a[0]),1 in a&&(c=BigInt(a[1]));else if("bigint"===typeof a)d=a;else throw x();f=d*c}else if("number"===typeof a){if(isNaN(a))throw x();0>a&&(f=-h,a=-a);if(0===a%1)d=BigInt(a);else{b=1;var k=0,l=1,m=1;let r=1;1<=a&&(b=10**Math.floor(1+Math.log10(a)),a/=b);for(;1E7>=l&&1E7>=r;)if(c=(k+m)/(l+r),a===c){1E7>=l+r?(d=k+m,c=l+r):r>l?(d=m,c=r):(d=k,c=l);break}else a>c?(k+=m,l+=r):(m+=k,r+=l),1E7<l?(d=m,c=r):(d=k,c=l);d=BigInt(d)*BigInt(b);c=BigInt(c)}}else if("string"===
typeof a){c=0;k=b=d=g;l=m=h;a=a.replace(/_/g,"").match(/\d+|./g);if(null===a)throw x();"-"===a[c]?(f=-h,c++):"+"===a[c]&&c++;if(a.length===c+1)b=w(a[c++],f);else if("."===a[c+1]||"."===a[c]){"."!==a[c]&&(d=w(a[c++],f));c++;if(c+1===a.length||"("===a[c+1]&&")"===a[c+3]||"'"===a[c+1]&&"'"===a[c+3])b=w(a[c],f),m=t**BigInt(a[c].length),c++;if("("===a[c]&&")"===a[c+2]||"'"===a[c]&&"'"===a[c+2])k=w(a[c+1],f),l=t**BigInt(a[c+1].length)-h,c+=3}else"/"===a[c+1]||":"===a[c+1]?(b=w(a[c],f),m=w(a[c+2],h),c+=
3):"/"===a[c+3]&&" "===a[c+1]&&(d=w(a[c],f),b=w(a[c+2],f),m=w(a[c+4],h),c+=5);if(a.length<=c)c=m*l,f=d=k+c*d+l*b;else throw x();}else if("bigint"===typeof a)f=d=a,c=h;else throw x();if(c===g)throw C();e.s=f<g?-h:h;e.n=d<g?-d:d;e.d=c<g?-c:c}function w(a,b){try{a=BigInt(a)}catch(d){throw x();}return a*b}function u(a){return"bigint"===typeof a?a:Math.floor(a)}function n(a,b){if(b===g)throw C();const d=Object.create(v.prototype);d.s=a<g?-h:h;a=a<g?-a:a;const c=y(a,b);d.n=a/c;d.d=b/c;return d}function A(a){const b=
Object.create(null);if(a<=h)return b[a]=h,b;for(;a%p===g;)b[p]=(b[p]||g)+h,a/=p;for(;a%B===g;)b[B]=(b[B]||g)+h,a/=B;for(;a%z===g;)b[z]=(b[z]||g)+h,a/=z;for(let d=0,c=p+z;c*c<=a;){for(;a%c===g;)b[c]=(b[c]||g)+h,a/=c;c+=G[d];d=d+1&7}a>h&&(b[a]=(b[a]||g)+h);return b}function y(a,b){if(!a)return b;if(!b)return a;for(;;){a%=b;if(!a)return b;b%=a;if(!b)return a}}function v(a,b){q(a,b);if(this instanceof v)a=y(e.d,e.n),this.s=e.s,this.n=e.n/a,this.d=e.d/a;else return n(e.s*e.n,e.d)}"undefined"===typeof BigInt&&
(BigInt=function(a){if(isNaN(a))throw Error("");return a});const g=BigInt(0),h=BigInt(1),p=BigInt(2),B=BigInt(3),z=BigInt(5),t=BigInt(10),e={s:h,n:g,d:h},G=[p*p,p,p*p,p,p*p,p*B,p,p*B];v.prototype={s:h,n:g,d:h,abs:function(){return n(this.n,this.d)},neg:function(){return n(-this.s*this.n,this.d)},add:function(a,b){q(a,b);return n(this.s*this.n*e.d+e.s*this.d*e.n,this.d*e.d)},sub:function(a,b){q(a,b);return n(this.s*this.n*e.d-e.s*this.d*e.n,this.d*e.d)},mul:function(a,b){q(a,b);return n(this.s*e.s*
this.n*e.n,this.d*e.d)},div:function(a,b){q(a,b);return n(this.s*e.s*this.n*e.d,this.d*e.n)},clone:function(){return n(this.s*this.n,this.d)},mod:function(a,b){if(void 0===a)return n(this.s*this.n%this.d,h);q(a,b);if(g===e.n*this.d)throw C();return n(this.s*e.d*this.n%(e.n*this.d),e.d*this.d)},gcd:function(a,b){q(a,b);return n(y(e.n,this.n)*y(e.d,this.d),e.d*this.d)},lcm:function(a,b){q(a,b);return e.n===g&&this.n===g?n(g,h):n(e.n*this.n,y(e.n,this.n)*y(e.d,this.d))},inverse:function(){return n(this.s*
this.d,this.n)},pow:function(a,b){q(a,b);if(e.d===h)return e.s<g?n((this.s*this.d)**e.n,this.n**e.n):n((this.s*this.n)**e.n,this.d**e.n);if(this.s<g)return null;a=A(this.n);b=A(this.d);let d=h,c=h;for(let f in a)if("1"!==f){if("0"===f){d=g;break}a[f]*=e.n;if(a[f]%e.d===g)a[f]/=e.d;else return null;d*=BigInt(f)**a[f]}for(let f in b)if("1"!==f){b[f]*=e.n;if(b[f]%e.d===g)b[f]/=e.d;else return null;c*=BigInt(f)**b[f]}return e.s<g?n(c,d):n(d,c)},log:function(a,b){q(a,b);if(this.s<=g||e.s<=g)return null;
var d=Object.create(null);a=A(e.n);const c=A(e.d);b=A(this.n);const f=A(this.d);for(var k in c)a[k]=(a[k]||g)-c[k];for(var l in f)b[l]=(b[l]||g)-f[l];for(var m in a)"1"!==m&&(d[m]=!0);for(var r in b)"1"!==r&&(d[r]=!0);l=k=null;for(const E in d)if(m=a[E]||g,d=b[E]||g,m===g){if(d!==g)return null}else if(r=y(d,m),d/=r,m/=r,null===k&&null===l)k=d,l=m;else if(d*l!==k*m)return null;return null!==k&&null!==l?n(k,l):null},equals:function(a,b){q(a,b);return this.s*this.n*e.d===e.s*e.n*this.d},lt:function(a,
b){q(a,b);return this.s*this.n*e.d<e.s*e.n*this.d},lte:function(a,b){q(a,b);return this.s*this.n*e.d<=e.s*e.n*this.d},gt:function(a,b){q(a,b);return this.s*this.n*e.d>e.s*e.n*this.d},gte:function(a,b){q(a,b);return this.s*this.n*e.d>=e.s*e.n*this.d},compare:function(a,b){q(a,b);a=this.s*this.n*e.d-e.s*e.n*this.d;return(g<a)-(a<g)},ceil:function(a){a=t**BigInt(a||0);return n(u(this.s*a*this.n/this.d)+(a*this.n%this.d>g&&this.s>=g?h:g),a)},floor:function(a){a=t**BigInt(a||0);return n(u(this.s*a*this.n/
this.d)-(a*this.n%this.d>g&&this.s<g?h:g),a)},round:function(a){a=t**BigInt(a||0);return n(u(this.s*a*this.n/this.d)+this.s*((this.s>=g?h:g)+a*this.n%this.d*p>this.d?h:g),a)},roundTo:function(a,b){q(a,b);var d=this.n*e.d;a=this.d*e.n;b=d%a;d=u(d/a);b+b>=a&&d++;return n(this.s*d*e.n,e.d)},divisible:function(a,b){q(a,b);return e.n===g?!1:this.n*e.d%(e.n*this.d)===g},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(a=15){let b=this.n,d=this.d;var c;a:{for(c=d;c%p===g;c/=
p);for(;c%z===g;c/=z);if(c===h)c=g;else{for(var f=t%c,k=1;f!==h;k++)if(f=f*t%c,2E3<k){c=g;break a}c=BigInt(k)}}a:{f=h;k=t;var l=c;let m=h;for(;l>g;k=k*k%d,l>>=h)l&h&&(m=m*k%d);k=m;for(l=0;300>l;l++){if(f===k){f=BigInt(l);break a}f=f*t%d;k=k*t%d}f=0}k=f;f=this.s<g?"-":"";f+=u(b/d);(b=b%d*t)&&(f+=".");if(c){for(a=k;a--;)f+=u(b/d),b%=d,b*=t;f+="(";for(a=c;a--;)f+=u(b/d),b%=d,b*=t;f+=")"}else for(;b&&a--;)f+=u(b/d),b%=d,b*=t;return f},toFraction:function(a=!1){let b=this.n,d=this.d,c=this.s<g?"-":"";
if(d===h)c+=b;else{const f=u(b/d);a&&f>g&&(c+=f,c+=" ",b%=d);c=c+b+"/"+d}return c},toLatex:function(a=!1){let b=this.n,d=this.d,c=this.s<g?"-":"";if(d===h)c+=b;else{const f=u(b/d);a&&f>g&&(c+=f,b%=d);c=c+"\\frac{"+b+"}{"+d;c+="}"}return c},toContinued:function(){let a=this.n,b=this.d;const d=[];for(;b;){d.push(u(a/b));const c=a%b;a=b;b=c}return d},simplify:function(a=.001){a=BigInt(Math.ceil(1/a));const b=this.abs(),d=b.toContinued();for(let f=1;f<d.length;f++){let k=n(d[f-1],h);for(var c=f-2;0<=
c;c--)k=k.inverse().add(d[c]);c=k.sub(b);if(c.n*a<c.d)return k.mul(this.s)}return this}};"function"===typeof define&&define.amd?define([],function(){return v}):"object"===typeof exports?(Object.defineProperty(v,"__esModule",{value:!0}),v["default"]=v,v.Fraction=v,module.exports=v):F.Fraction=v})(this);
@@ -0,0 +1,2 @@
import type { LibDefinition } from '../variable';
export declare const es2020_sharedmemory: LibDefinition;
@@ -0,0 +1 @@
module.exports={A:{A:{"2":"K D E F A B wC"},B:{"1":"0 1 2 3 4 5 N O P 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 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB I","2":"C L M G"},C:{"1":"0 1 2 3 4 5 wB xB yB zB 0B 1B 2B 3B UC 4B VC 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC Q H R WC 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 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB I XC MC YC yC zC","2":"6 7 8 9 xC TC J ZB K D E F A B C L M G N O P aB AB BB CB DB EB FB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB 0C 1C"},D:{"1":"0 1 2 3 4 5 1B 2B 3B UC 4B VC 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC 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 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB I XC MC YC","2":"6 7 8 9 J ZB K D E F A B C L M G N O P aB AB BB CB DB EB FB bB cB dB eB fB gB hB iB jB kB lB mB nB oB","16":"pB qB rB","388":"sB tB uB vB wB xB yB zB 0B"},E:{"1":"L M G 7C 8C 9C bC cC PC AD QC dC eC fC gC hC BD RC iC jC kC lC mC CD SC nC oC pC qC rC sC tC DD ED","2":"J ZB K D E F A 2C ZC 3C 4C 5C 6C aC","516":"B C NC OC"},F:{"1":"0 1 2 3 4 5 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 EC FC GC HC IC JC KC LC Q H R WC 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":"6 7 8 9 F B C G N O P aB AB BB CB DB EB FB bB cB dB eB fB gB hB iB jB kB lB mB FD GD HD ID NC uC JD OC"},G:{"1":"TD UD VD WD XD YD ZD aD bD cD dD bC cC PC eD QC dC eC fC gC hC fD RC iC jC kC lC mC gD SC nC oC pC qC rC sC tC","2":"E ZC KD vC LD MD ND OD PD QD RD SD"},H:{"2":"hD"},I:{"1":"I","2":"iD jD kD","16":"TC J lD vC mD nD"},J:{"1":"A","2":"D"},K:{"1":"H OC","16":"A B C NC uC"},L:{"1":"I"},M:{"1":"MC"},N:{"2":"A B"},O:{"1":"PC"},P:{"1":"6 7 8 9 AB BB CB DB EB FB oD pD qD rD sD aC tD uD vD wD xD QC RC SC yD","129":"J"},Q:{"1":"zD"},R:{"1":"0D"},S:{"1":"2D","2":"1D"}},B:6,C:"FLAC audio format",D:true};
@@ -0,0 +1,71 @@
import * as _heroui_system from '@heroui/system';
import { PropGetter, HTMLHeroUIProps } from '@heroui/system';
import { CheckboxVariantProps, SlotsToClasses, CheckboxSlots } from '@heroui/theme';
import { AriaCheckboxProps } from '@react-types/checkbox';
import { ReactNode, Ref } from 'react';
type CheckboxIconProps = {
"data-checked": string;
isSelected: boolean;
isIndeterminate: boolean;
disableAnimation: boolean;
className: string;
};
interface Props extends Omit<HTMLHeroUIProps<"input">, keyof CheckboxVariantProps> {
/**
* Ref to the DOM node.
*/
ref?: Ref<HTMLInputElement>;
/**
* The label of the checkbox.
*/
children?: ReactNode;
/**
* Whether the checkbox is disabled.
* @default false
*/
isDisabled?: boolean;
/**
* The icon to be displayed when the checkbox is checked.
*/
icon?: ReactNode | ((props: CheckboxIconProps) => ReactNode);
/**
* React aria onChange event.
*/
onValueChange?: AriaCheckboxProps["onChange"];
/**
* Classname or List of classes to change the classNames of the element.
* if `className` is passed, it will be added to the base slot.
*
* @example
* ```ts
* <Checkbox classNames={{
* base:"base-classes",
* wrapper: "wrapper-classes",
* icon: "icon-classes",
* label: "label-classes",
* }} />
* ```
*/
classNames?: SlotsToClasses<CheckboxSlots>;
}
type UseCheckboxProps = Omit<Props, "defaultChecked"> & Omit<AriaCheckboxProps, keyof CheckboxVariantProps | "onChange"> & CheckboxVariantProps;
declare function useCheckbox(props?: UseCheckboxProps): {
Component: _heroui_system.As<any>;
icon: ReactNode | ((props: CheckboxIconProps) => ReactNode);
children: ReactNode;
isSelected: boolean;
isDisabled: boolean;
isInvalid: boolean;
isFocused: boolean;
isHovered: boolean;
isFocusVisible: boolean;
getBaseProps: PropGetter<Record<string, unknown>, _heroui_system.DOMAttributes<_heroui_system.DOMElement>>;
getWrapperProps: PropGetter<Record<string, unknown>, _heroui_system.DOMAttributes<_heroui_system.DOMElement>>;
getInputProps: PropGetter<Record<string, unknown>, _heroui_system.DOMAttributes<_heroui_system.DOMElement>>;
getLabelProps: PropGetter<Record<string, unknown>, _heroui_system.DOMAttributes<_heroui_system.DOMElement>>;
getIconProps: () => CheckboxIconProps;
};
type UseCheckboxReturn = ReturnType<typeof useCheckbox>;
export { CheckboxIconProps, UseCheckboxProps, UseCheckboxReturn, useCheckbox };
@@ -0,0 +1,42 @@
'use strict';
var toString = Object.prototype.toString;
/**
* Extract names from functions.
*
* @param {Function} fn The function who's name we need to extract.
* @returns {String} The name of the function.
* @public
*/
module.exports = function name(fn) {
if ('string' === typeof fn.displayName && fn.constructor.name) {
return fn.displayName;
} else if ('string' === typeof fn.name && fn.name) {
return fn.name;
}
//
// Check to see if the constructor has a name.
//
if (
'object' === typeof fn
&& fn.constructor
&& 'string' === typeof fn.constructor.name
) return fn.constructor.name;
//
// toString the given function and attempt to parse it out of it, or determine
// the class.
//
var named = fn.toString()
, type = toString.call(fn).slice(8, -1);
if ('Function' === type) {
named = named.substring(named.indexOf('(') + 1, named.indexOf(')'));
} else {
named = type;
}
return named || 'anonymous';
};
@@ -0,0 +1 @@
{"name":"camelcase","version":"6.3.0","requiresBuild":false,"files":{"license":{"checkedAt":1794532093291,"integrity":"sha512-0fM2/ycrxrltyaBKfQ748Ck23VlPUUBgNAR47ldf4B1V/HoXTfWBSk+vcshGKwEpmOynu4mOP5o+hyBfuRNa8g==","mode":420,"size":1117},"index.js":{"checkedAt":1794532119153,"integrity":"sha512-0sWhp3qlgfw37mcLnSiyXBgc+1gHWKVcAkYIJ/5GtbPNuWYb9Xwqd2oExtE4cpWTW6j0ZF/Tv8N5RYBzs+jIYA==","mode":420,"size":3272},"package.json":{"checkedAt":1794532119153,"integrity":"sha512-QkApm4Zppl0pr35aUp8jPnMIl56fAxH+zZsWm6TcK+4deZ64hXcUUArVon0I4nDiE9kL2d8tU50JqJsuEJX+jA==","mode":420,"size":812},"readme.md":{"checkedAt":1794532119153,"integrity":"sha512-qRLA+1dxwxnD1KK16Z+DSTUyjTeExdOUHwUuMN8MA6Btfn1A3WBNOvG0rDpdSZWbcvDi9fyJihVCCh/R43MMkg==","mode":420,"size":3953},"index.d.ts":{"checkedAt":1794532119154,"integrity":"sha512-15EVyC8hAfteHubp9aBSmRVOSq0faiDnOcDyfK1pIVX362EnQu5ggRPaipc5ysh4hjrHA+xhmU2KnN6d9aDbaQ==","mode":420,"size":2543}}}
@@ -0,0 +1,45 @@
import * as tinybench from 'tinybench';
import { VitestRunner, VitestRunnerImportSource, Suite, File, Task, CancelReason, Test, TestContext, ImportDuration } from '@vitest/runner';
export { VitestRunner } from '@vitest/runner';
import { S as SerializedConfig } from './chunks/config.d.BTfZNUu9.js';
import '@vitest/pretty-format';
import '@vitest/snapshot';
import '@vitest/utils/diff';
declare class NodeBenchmarkRunner implements VitestRunner {
config: SerializedConfig;
private moduleRunner;
constructor(config: SerializedConfig);
importTinybench(): Promise<typeof tinybench>;
importFile(filepath: string, source: VitestRunnerImportSource): unknown;
runSuite(suite: Suite): Promise<void>;
runTask(): Promise<void>;
}
declare class VitestTestRunner implements VitestRunner {
config: SerializedConfig;
private snapshotClient;
private workerState;
private moduleRunner;
private cancelRun;
private assertionsErrors;
pool: string;
constructor(config: SerializedConfig);
importFile(filepath: string, source: VitestRunnerImportSource): unknown;
onCollectStart(file: File): void;
onCleanupWorkerContext(listener: () => unknown): void;
onAfterRunFiles(): void;
getWorkerContext(): Record<string, unknown>;
onAfterRunSuite(suite: Suite): Promise<void>;
onAfterRunTask(test: Task): void;
cancel(_reason: CancelReason): void;
injectValue(key: string): any;
onBeforeRunTask(test: Task): Promise<void>;
onBeforeRunSuite(suite: Suite): Promise<void>;
onBeforeTryTask(test: Task): void;
onAfterTryTask(test: Test): void;
extendTaskContext(context: TestContext): TestContext;
getImportDurations(): Record<string, ImportDuration>;
}
export { NodeBenchmarkRunner, VitestTestRunner };
@@ -0,0 +1,291 @@
'use strict';
var utils = require('../utils.js');
require('eslint-visitor-keys');
require('espree');
require('estraverse');
const messages = {
selfCloseSlashNoSpace: "Whitespace is forbidden between `/` and `>`; write `/>`",
selfCloseSlashNeedSpace: "Whitespace is required between `/` and `>`; write `/ >`",
closeSlashNoSpace: "Whitespace is forbidden between `<` and `/`; write `</`",
closeSlashNeedSpace: "Whitespace is required between `<` and `/`; write `< /`",
beforeSelfCloseNoSpace: "A space is forbidden before closing bracket",
beforeSelfCloseNeedSpace: "A space is required before closing bracket",
beforeSelfCloseNeedNewline: "A newline is required before closing bracket",
afterOpenNoSpace: "A space is forbidden after opening bracket",
afterOpenNeedSpace: "A space is required after opening bracket",
beforeCloseNoSpace: "A space is forbidden before closing bracket",
beforeCloseNeedSpace: "Whitespace is required before closing bracket",
beforeCloseNeedNewline: "A newline is required before closing bracket"
};
function validateClosingSlash(context, node, option) {
const sourceCode = context.sourceCode;
let adjacent;
if ("selfClosing" in node && node.selfClosing) {
const lastTokens = sourceCode.getLastTokens(node, 2);
adjacent = !sourceCode.isSpaceBetweenTokens(lastTokens[0], lastTokens[1]);
if (option === "never") {
if (!adjacent) {
context.report({
node,
messageId: "selfCloseSlashNoSpace",
loc: {
start: lastTokens[0].loc.start,
end: lastTokens[1].loc.end
},
fix(fixer) {
return fixer.removeRange([lastTokens[0].range[1], lastTokens[1].range[0]]);
}
});
}
} else if (option === "always" && adjacent) {
context.report({
node,
messageId: "selfCloseSlashNeedSpace",
loc: {
start: lastTokens[0].loc.start,
end: lastTokens[1].loc.end
},
fix(fixer) {
return fixer.insertTextBefore(lastTokens[1], " ");
}
});
}
} else {
const firstTokens = sourceCode.getFirstTokens(node, 2);
adjacent = !sourceCode.isSpaceBetweenTokens(firstTokens[0], firstTokens[1]);
if (option === "never") {
if (!adjacent) {
context.report({
node,
messageId: "closeSlashNoSpace",
loc: {
start: firstTokens[0].loc.start,
end: firstTokens[1].loc.end
},
fix(fixer) {
return fixer.removeRange([firstTokens[0].range[1], firstTokens[1].range[0]]);
}
});
}
} else if (option === "always" && adjacent) {
context.report({
node,
messageId: "closeSlashNeedSpace",
loc: {
start: firstTokens[0].loc.start,
end: firstTokens[1].loc.end
},
fix(fixer) {
return fixer.insertTextBefore(firstTokens[1], " ");
}
});
}
}
}
function validateBeforeSelfClosing(context, node, option) {
const sourceCode = context.sourceCode;
const leftToken = utils.getTokenBeforeClosingBracket(node);
const closingSlash = sourceCode.getTokenAfter(leftToken);
if (node.loc.start.line !== node.loc.end.line && option === "proportional-always") {
if (leftToken.loc.end.line === closingSlash.loc.start.line) {
context.report({
node,
messageId: "beforeSelfCloseNeedNewline",
loc: leftToken.loc.end,
fix(fixer) {
return fixer.insertTextBefore(closingSlash, "\n");
}
});
return;
}
}
if (leftToken.loc.end.line !== closingSlash.loc.start.line)
return;
const adjacent = !sourceCode.isSpaceBetweenTokens(leftToken, closingSlash);
if ((option === "always" || option === "proportional-always") && adjacent) {
context.report({
node,
messageId: "beforeSelfCloseNeedSpace",
loc: closingSlash.loc.start,
fix(fixer) {
return fixer.insertTextBefore(closingSlash, " ");
}
});
} else if (option === "never" && !adjacent) {
context.report({
node,
messageId: "beforeSelfCloseNoSpace",
loc: closingSlash.loc.start,
fix(fixer) {
const previousToken = sourceCode.getTokenBefore(closingSlash);
return fixer.removeRange([previousToken.range[1], closingSlash.range[0]]);
}
});
}
}
function validateAfterOpening(context, node, option) {
const sourceCode = context.sourceCode;
const openingToken = sourceCode.getTokenBefore(node.name);
if (option === "allow-multiline") {
if (openingToken.loc.start.line !== node.name.loc.start.line)
return;
}
const adjacent = !sourceCode.isSpaceBetweenTokens(openingToken, node.name);
if (option === "never" || option === "allow-multiline") {
if (!adjacent) {
context.report({
node,
messageId: "afterOpenNoSpace",
loc: {
start: openingToken.loc.start,
end: node.name.loc.start
},
fix(fixer) {
return fixer.removeRange([openingToken.range[1], node.name.range[0]]);
}
});
}
} else if (option === "always" && adjacent) {
context.report({
node,
messageId: "afterOpenNeedSpace",
loc: {
start: openingToken.loc.start,
end: node.name.loc.start
},
fix(fixer) {
return fixer.insertTextBefore(node.name, " ");
}
});
}
}
function validateBeforeClosing(context, node, option) {
if (!("selfClosing" in node && node.selfClosing)) {
const sourceCode = context.sourceCode;
const leftToken = option === "proportional-always" ? utils.getTokenBeforeClosingBracket(node) : sourceCode.getLastTokens(node, 2)[0];
const closingToken = sourceCode.getTokenAfter(leftToken);
if (node.loc.start.line !== node.loc.end.line && option === "proportional-always") {
if (leftToken.loc.end.line === closingToken.loc.start.line) {
context.report({
node,
messageId: "beforeCloseNeedNewline",
loc: leftToken.loc.end,
fix(fixer) {
return fixer.insertTextBefore(closingToken, "\n");
}
});
return;
}
}
if (leftToken.loc.start.line !== closingToken.loc.start.line)
return;
const adjacent = !sourceCode.isSpaceBetweenTokens(leftToken, closingToken);
if (option === "never" && !adjacent) {
context.report({
node,
messageId: "beforeCloseNoSpace",
loc: {
start: leftToken.loc.end,
end: closingToken.loc.start
},
fix(fixer) {
return fixer.removeRange([leftToken.range[1], closingToken.range[0]]);
}
});
} else if (option === "always" && adjacent) {
context.report({
node,
loc: {
start: leftToken.loc.end,
end: closingToken.loc.start
},
messageId: "beforeCloseNeedSpace",
fix(fixer) {
return fixer.insertTextBefore(closingToken, " ");
}
});
} else if (option === "proportional-always" && node.type === "JSXOpeningElement" && adjacent !== (node.loc.start.line === node.loc.end.line)) {
context.report({
node,
messageId: "beforeCloseNeedSpace",
loc: {
start: leftToken.loc.end,
end: closingToken.loc.start
},
fix(fixer) {
return fixer.insertTextBefore(closingToken, " ");
}
});
}
}
}
const optionDefaults = {
closingSlash: "never",
beforeSelfClosing: "always",
afterOpening: "never",
beforeClosing: "allow"
};
var jsxTagSpacing = utils.createRule({
name: "jsx-tag-spacing",
package: "jsx",
meta: {
type: "layout",
docs: {
description: "Enforce whitespace in and around the JSX opening and closing brackets"
},
fixable: "whitespace",
messages,
schema: [
{
type: "object",
properties: {
closingSlash: {
type: "string",
enum: ["always", "never", "allow"]
},
beforeSelfClosing: {
type: "string",
enum: ["always", "proportional-always", "never", "allow"]
},
afterOpening: {
type: "string",
enum: ["always", "allow-multiline", "never", "allow"]
},
beforeClosing: {
type: "string",
enum: ["always", "proportional-always", "never", "allow"]
}
},
default: optionDefaults,
additionalProperties: false
}
]
},
create(context) {
const options = Object.assign({}, optionDefaults, context.options[0]);
return {
JSXOpeningElement(node) {
if (options.closingSlash !== "allow" && node.selfClosing)
validateClosingSlash(context, node, options.closingSlash);
if (options.afterOpening !== "allow")
validateAfterOpening(context, node, options.afterOpening);
if (options.beforeSelfClosing !== "allow" && node.selfClosing)
validateBeforeSelfClosing(context, node, options.beforeSelfClosing);
if (options.beforeClosing !== "allow")
validateBeforeClosing(context, node, options.beforeClosing);
},
JSXClosingElement(node) {
if (options.afterOpening !== "allow")
validateAfterOpening(context, node, options.afterOpening);
if (options.closingSlash !== "allow")
validateClosingSlash(context, node, options.closingSlash);
if (options.beforeClosing !== "allow")
validateBeforeClosing(context, node, options.beforeClosing);
}
};
}
});
module.exports = jsxTagSpacing;
@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cloneDeep;
var _cloneNode = require("./cloneNode.js");
function cloneDeep(node) {
return (0, _cloneNode.default)(node);
}
//# sourceMappingURL=cloneDeep.js.map
@@ -0,0 +1,26 @@
/**
* This function removes any uses of CSS variables used as an alpha channel
*
* This is required for selectors like `:visited` which do not allow
* changes in opacity or external control using CSS variables.
*
* @param {import('postcss').Container} container
* @param {string[]} toRemove
*/
export function removeAlphaVariables(container, toRemove) {
container.walkDecls((decl) => {
if (toRemove.includes(decl.prop)) {
decl.remove()
return
}
for (let varName of toRemove) {
if (decl.value.includes(`/ var(${varName})`)) {
decl.value = decl.value.replace(`/ var(${varName})`, '')
} else if (decl.value.includes(`/ var(${varName}, 1)`)) {
decl.value = decl.value.replace(`/ var(${varName}, 1)`, '')
}
}
})
}
@@ -0,0 +1,103 @@
[![npm version](https://img.shields.io/npm/v/@eslint/js.svg)](https://www.npmjs.com/package/@eslint/js)
[![Downloads](https://img.shields.io/npm/dm/@eslint/js.svg)](https://www.npmjs.com/package/@eslint/js)
[![Build Status](https://github.com/eslint/eslint/workflows/CI/badge.svg)](https://github.com/eslint/eslint/actions)
<br>
[![Open Collective Backers](https://img.shields.io/opencollective/backers/eslint)](https://opencollective.com/eslint)
[![Open Collective Sponsors](https://img.shields.io/opencollective/sponsors/eslint)](https://opencollective.com/eslint)
# ESLint JavaScript Plugin
[Website](https://eslint.org) |
[Configure ESLint](https://eslint.org/docs/latest/use/configure) |
[Rules](https://eslint.org/docs/rules/) |
[Contribute to ESLint](https://eslint.org/docs/latest/contribute) |
[Report Bugs](https://eslint.org/docs/latest/contribute/report-bugs) |
[Code of Conduct](https://eslint.org/conduct) |
[X](https://x.com/geteslint) |
[Discord](https://eslint.org/chat) |
[Mastodon](https://fosstodon.org/@eslint) |
[Bluesky](https://bsky.app/profile/eslint.org)
The beginnings of separating out JavaScript-specific functionality from ESLint.
Right now, this plugin contains two configurations:
- `recommended` - enables the rules recommended by the ESLint team (the replacement for `"eslint:recommended"`)
- `all` - enables all ESLint rules (the replacement for `"eslint:all"`)
## Installation
You can install ESLint using npm or other package managers:
```shell
npm install eslint -D
# or
yarn add eslint -D
# or
pnpm install eslint -D
# or
bun add eslint -D
```
Then install this plugin:
```shell
npm install @eslint/js -D
# or
yarn add @eslint/js -D
# or
pnpm install @eslint/js -D
# or
bun add @eslint/js -D
```
## Usage
Use in your `eslint.config.js` file anytime you want to extend one of the configs:
```js
import { defineConfig } from "eslint/config";
import js from "@eslint/js";
export default defineConfig([
// apply recommended rules to JS files
{
name: "your-project/recommended-rules",
files: ["**/*.js"],
plugins: {
js,
},
extends: ["js/recommended"],
},
// apply recommended rules to JS files with an override
{
name: "your-project/recommended-rules-with-override",
files: ["**/*.js"],
plugins: {
js,
},
extends: ["js/recommended"],
rules: {
"no-unused-vars": "warn",
},
},
// apply all rules to JS files
{
name: "your-project/all-rules",
files: ["**/*.js"],
plugins: {
js,
},
extends: ["js/all"],
rules: {
"no-unused-vars": "warn",
},
},
]);
```
## License
MIT
@@ -0,0 +1 @@
[{"path":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\WDExpress","version":"15.9.28307.858","packages":["Microsoft.VisualStudio.Product.WDExpress","Microsoft.VisualStudio.Workload.WDExpress","Microsoft.VisualStudio.Component.Windows10SDK.17763","MLGen","Win10SDK_10.0.17763","Microsoft.VisualStudio.Component.Windows10SDK.14393","Win10SDK_10.0.14393.795","Microsoft.VisualStudio.VC.Items.Pro","Microsoft.VisualStudio.VC.Ide.Pro","Microsoft.VisualStudio.VC.Ide.Pro.Resources","Microsoft.VisualStudio.Component.VC.Tools.ARM64","Microsoft.VisualStudio.VC.MSBuild.Arm64","Microsoft.VisualCpp.CRT.Redist.ARM64.OneCore.Desktop","Microsoft.VisualCpp.CRT.Redist.ARM64","Microsoft.VisualCpp.CRT.ARM64.OneCore.Desktop","Microsoft.VisualCpp.CRT.ARM64.Store","Microsoft.VisualCpp.CRT.ARM64.Desktop","Microsoft.VisualCpp.Tools.Hostx86.Targetarm64","Microsoft.VisualCpp.VCTip.hostX86.targetARM64","Microsoft.VisualCpp.Tools.HostX86.TargetARM64.Resources","Microsoft.VisualStudio.Component.VC.Tools.ARM","Microsoft.VisualCpp.Tools.Hostx86.Targetarm","Microsoft.VisualCpp.VCTip.hostX86.targetARM","Microsoft.VisualCpp.Tools.HostX86.TargetARM.Resources","Microsoft.VisualCpp.CRT.x86.Store","Microsoft.VisualCpp.CRT.x86.OneCore.Desktop","Microsoft.VisualCpp.CRT.x64.Store","Microsoft.VisualCpp.CRT.x64.OneCore.Desktop","Microsoft.VisualCpp.CRT.Redist.arm.OneCore.Desktop","Microsoft.VisualCpp.CRT.arm.OneCore.Desktop","Microsoft.VisualCpp.CRT.arm.Store","Microsoft.VisualCpp.CRT.arm.Desktop","Microsoft.VisualStudio.VC.Templates.UnitTest","Microsoft.VisualStudio.TestTools.TestPlatform.V1.CPP","Microsoft.VisualStudio.VC.Templates.UnitTest.Resources","Microsoft.VisualStudio.VC.Templates.Desktop","Microsoft.VisualStudio.VC.Templates.Pro","Microsoft.VisualStudio.VC.Templates.Pro.Resources","Microsoft.VisualStudio.PackageGroup.VC.CoreIDE.Express","Microsoft.VisualStudio.PackageGroup.Debugger.Script","Microsoft.VisualStudio.JavaScript.LanguageService","Microsoft.VisualStudio.JavaScript.LanguageService.Resources","Microsoft.VisualStudio.Debugger.Script.Msi","Microsoft.VisualStudio.Debugger.Script","Microsoft.VisualStudio.Debugger.Script","Microsoft.VisualStudio.Debugger.Script.Resources","Microsoft.VisualStudio.Debugger.Script.Resources","Microsoft.VisualStudio.VC.MSBuild.X64","Microsoft.VS.VC.MSBuild.X64.Resources","Microsoft.VisualStudio.VC.MSBuild.ARM","Microsoft.VisualStudio.VC.MSBuild.X86","Microsoft.VisualStudio.VC.MSBuild.Base","Microsoft.VisualStudio.VC.MSBuild.Base.Resources","Microsoft.VisualStudio.VC.Ide.WinXPlus","Microsoft.VisualStudio.VC.Ide.Dskx","Microsoft.VisualStudio.VC.Ide.Dskx.Resources","Microsoft.VisualStudio.VC.Ide.Core","Microsoft.VisualStudio.VC.Ide.Core.Resources","Microsoft.VisualStudio.VC.Ide.Base","Microsoft.VisualStudio.VC.Ide.Base.Resources","Microsoft.VisualStudio.Component.VC.CLI.Support","Microsoft.VisualCpp.CLI.X86","Microsoft.VisualCpp.CLI.X64","Microsoft.VisualCpp.CLI.Source","Microsoft.VisualCpp.CLI.ARM64","Microsoft.VisualCpp.CLI.ARM","Microsoft.VisualStudio.VC.Templates.CLR","Microsoft.VisualStudio.VC.Ide.LanguageService","Microsoft.VisualStudio.VC.Ide.ResourceEditor","Microsoft.VisualStudio.VC.Ide.ResourceEditor.Resources","Microsoft.VisualStudio.VC.Ide.ProjectSystem","Microsoft.VisualStudio.VC.Ide.ProjectSystem.Resources","Microsoft.VisualStudio.VC.Ide.Core.VCProjectEngine","Microsoft.VisualStudio.VC.Ide.Core.VCProjectEngine.Resources","Microsoft.VisualStudio.VC.Ide.LanguageService.Resources","Microsoft.VisualStudio.VC.Templates.CLR.Resources","Microsoft.Component.VC.Runtime.OSSupport","Microsoft.Windows.UniversalCRT.Tools.Msi","Microsoft.Windows.UniversalCRT.Tools.Msi","Microsoft.Windows.UniversalCRT.ExtensionSDK.Msi","Microsoft.Windows.UniversalCRT.HeadersLibsSources.Msi","Microsoft.VisualStudio.PackageGroup.VC.Tools.x86","Microsoft.VisualCpp.Tools.HostX86.TargetX64","Microsoft.VisualCpp.VCTip.hostX86.targetX64","Microsoft.VisualCpp.Tools.Hostx86.Targetx64.Resources","Microsoft.VisualCpp.Tools.HostX86.TargetX86","Microsoft.VisualCpp.VCTip.hostX86.targetX86","Microsoft.VisualCpp.Tools.HostX86.TargetX86.Resources","Microsoft.VisualCpp.Tools.Core.Resources","Microsoft.VisualCpp.Tools.Core.x86","Microsoft.VisualCpp.Tools.Common.Utils","Microsoft.VisualCpp.Tools.Common.Utils.Resources","Microsoft.VisualCpp.DIA.SDK","Microsoft.VisualCpp.CRT.x86.Desktop","Microsoft.VisualCpp.CRT.x64.Desktop","Microsoft.VisualCpp.CRT.Source","Microsoft.VisualCpp.CRT.Redist.X86","Microsoft.VisualCpp.CRT.Redist.X64","Microsoft.VisualCpp.CRT.Redist.Resources","Microsoft.VisualCpp.RuntimeDebug.14","Microsoft.VisualCpp.RuntimeDebug.14","Microsoft.VisualCpp.CRT.Headers","Microsoft.Component.HelpViewer","Microsoft.HelpViewer","Microsoft.VisualStudio.Help.Configuration.Msi","Microsoft.VisualStudio.Component.SQL.DataSources","Microsoft.VisualStudio.Component.SQL.SSDT","Microsoft.VisualStudio.Component.SQL.CMDUtils","sqlcmdlnutils","Microsoft.VisualStudio.Component.Common.Azure.Tools","Microsoft.VisualStudio.Azure.CommonAzureTools","SSLine truncated
@@ -0,0 +1,90 @@
import { SlotsToClasses, AccordionItemSlots, AccordionItemVariantProps } from '@heroui/theme';
import { As } from '@heroui/system';
import { ItemProps } from '@heroui/aria-utils';
import { FocusableProps, PressEvents } from '@react-types/shared';
import { ReactNode } from 'react';
import { HTMLMotionProps } from 'framer-motion';
type AccordionItemIndicatorProps = {
/**
* The current indicator, usually an arrow icon.
*/
indicator?: ReactNode;
/**
* The current open status.
*/
isOpen?: boolean;
/**
* The current disabled status.
* @default false
*/
isDisabled?: boolean;
};
interface Props<T extends object = {}> extends Omit<ItemProps<"button", T>, "children" | "title" | keyof FocusableProps>, FocusableProps, PressEvents {
/**
* The content of the component.
*/
children?: ReactNode;
/**
* The accordion item title.
*/
title?: ReactNode;
/**
* The accordion item subtitle.
*/
subtitle?: ReactNode;
/**
* The accordion item `expanded` indicator, it's usually an arrow icon.
* If you pass a function, HeroUI will expose the current indicator and the open status,
* In case you want to use a custom indicator or modify the current one.
*/
indicator?: ReactNode | ((props: AccordionItemIndicatorProps) => ReactNode) | null;
/**
* The accordion item start content, it's usually an icon or avatar.
*/
startContent?: ReactNode;
/**
* The props to modify the framer motion animation. Use the `variants` API to create your own animation.
*/
motionProps?: Omit<HTMLMotionProps<"section">, "ref">;
/**
* Whether to keep the accordion content mounted when collapsed.
* @default false
*/
keepContentMounted?: boolean;
/**
* The native button click event handler.
* @deprecated - use `onPress` instead.
*/
onClick?: PressEvents["onClick"];
/**
* Classname or List of classes to change the classNames of the element.
* if `className` is passed, it will be added to the base slot.
*
* @example
* ```ts
* <AccordionItem classNames={{
* base:"base-classes",
* heading: "heading-classes",
* trigger: "trigger-classes",
* startContent: "start-indicator-classes",
* indicator: "indicator-classes",
* titleWrapper: "title-wrapper-classes", // this wraps the title and subtitle
* title: "title-classes",
* subtitle: "subtitle-classes",
* content: "content-classes",
* }} />
* ```
*/
classNames?: SlotsToClasses<AccordionItemSlots>;
/**
* Customizable heading tag for Web accessibility:
* use headings to describe content and use them consistently and semantically.
* This will help all users to better find the content they are looking for.
*/
HeadingComponent?: As;
}
type AccordionItemBaseProps<T extends object = {}> = Props<T> & AccordionItemVariantProps;
declare const AccordionItemBase: (props: AccordionItemBaseProps) => JSX.Element;
export { type AccordionItemBaseProps, type AccordionItemIndicatorProps, type Props, AccordionItemBase as default };
@@ -0,0 +1,40 @@
{
"name": "eslint-visitor-keys",
"version": "1.3.0",
"description": "Constants and utilities about visitor keys to traverse AST.",
"main": "lib/index.js",
"files": [
"lib"
],
"engines": {
"node": ">=4"
},
"dependencies": {},
"devDependencies": {
"eslint": "^4.7.2",
"eslint-config-eslint": "^4.0.0",
"eslint-release": "^1.0.0",
"mocha": "^3.5.3",
"nyc": "^11.2.1",
"opener": "^1.4.3"
},
"scripts": {
"lint": "eslint lib tests/lib",
"pretest": "npm run -s lint",
"test": "nyc mocha tests/lib",
"coverage": "nyc report --reporter lcov && opener coverage/lcov-report/index.html",
"generate-release": "eslint-generate-release",
"generate-alpharelease": "eslint-generate-prerelease alpha",
"generate-betarelease": "eslint-generate-prerelease beta",
"generate-rcrelease": "eslint-generate-prerelease rc",
"publish-release": "eslint-publish-release"
},
"repository": "eslint/eslint-visitor-keys",
"keywords": [],
"author": "Toru Nagashima (https://github.com/mysticatea)",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/eslint/eslint-visitor-keys/issues"
},
"homepage": "https://github.com/eslint/eslint-visitor-keys#readme"
}
@@ -0,0 +1,11 @@
import type { TSchema } from '../schema/index.mjs';
import type { TProperties } from '../object/index.mjs';
import { type TMappedResult } from '../mapped/index.mjs';
import { type TExclude } from './exclude.mjs';
type TFromProperties<K extends TProperties, T extends TSchema> = ({
[K2 in keyof K]: TExclude<K[K2], T>;
});
type TFromMappedResult<R extends TMappedResult, T extends TSchema> = (TFromProperties<R['properties'], T>);
export type TExcludeFromMappedResult<R extends TMappedResult, T extends TSchema, P extends TProperties = TFromMappedResult<R, T>> = (TMappedResult<P>);
export declare function ExcludeFromMappedResult<R extends TMappedResult, T extends TSchema, P extends TProperties = TFromMappedResult<R, T>>(R: R, T: T): TMappedResult<P>;
export {};
@@ -0,0 +1,17 @@
var $f7fca02019afd941$exports = {};
$f7fca02019afd941$exports = {
"deselectedItem": (args)=>`${args.item} \u{43D}\u{435} \u{435} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}.`,
"longPressToSelect": `\u{41D}\u{430}\u{442}\u{438}\u{441}\u{43D}\u{435}\u{442}\u{435} \u{438} \u{437}\u{430}\u{434}\u{440}\u{44A}\u{436}\u{442}\u{435} \u{437}\u{430} \u{434}\u{430} \u{432}\u{43B}\u{435}\u{437}\u{435}\u{442}\u{435} \u{432} \u{438}\u{437}\u{431}\u{438}\u{440}\u{430}\u{442}\u{435}\u{43B}\u{435}\u{43D} \u{440}\u{435}\u{436}\u{438}\u{43C}.`,
"select": `\u{418}\u{437}\u{431}\u{435}\u{440}\u{435}\u{442}\u{435}`,
"selectedAll": `\u{412}\u{441}\u{438}\u{447}\u{43A}\u{438} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{438} \u{441}\u{430} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}\u{438}.`,
"selectedCount": (args, formatter)=>`${formatter.plural(args.count, {
"=0": `\u{41D}\u{44F}\u{43C}\u{430} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}\u{438} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{438}`,
one: ()=>`${formatter.number(args.count)} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}`,
other: ()=>`${formatter.number(args.count)} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}\u{438} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{438}`
})}.`,
"selectedItem": (args)=>`${args.item} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}.`
};
export {$f7fca02019afd941$exports as default};
//# sourceMappingURL=bg-BG.module.js.map
@@ -0,0 +1,16 @@
const {
parse,
stringify,
transforms,
tokenizers,
} = require('../../lib/index.cjs');
const { examples } = require('./examples');
const table = examples.map((fn) => [fn.name.replace(/_/g, ' '), fn]);
test.each(table)('example - %s', (name, fn) => {
const source = fn.toString();
expect(() =>
fn(source, parse, stringify, transforms, tokenizers)
).not.toThrow();
});
@@ -0,0 +1 @@
{"version":3,"file":"strong.d.ts","sourceRoot":"","sources":["strong.js"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,6BANW,MAAM,KACN,OAAO,GAAG,SAAS,SACnB,KAAK,QACL,IAAI,GACF,MAAM,CA0ClB;;;;4BAxDiC,OAAO;6BAAP,OAAO;2BADX,wBAAwB;0BAAxB,wBAAwB;AA2DtD;;;;;GAKG;AACH,+BALW,MAAM,MACN,OAAO,GAAG,SAAS,SACnB,KAAK,GACH,MAAM,CAIlB"}
@@ -0,0 +1,107 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var textboxRole = {
abstract: false,
accessibleNameRequired: true,
baseConcepts: [],
childrenPresentational: false,
nameFrom: ['author'],
prohibitedProps: [],
props: {
'aria-activedescendant': null,
'aria-autocomplete': null,
'aria-errormessage': null,
'aria-haspopup': null,
'aria-invalid': null,
'aria-multiline': null,
'aria-placeholder': null,
'aria-readonly': null,
'aria-required': null
},
relatedConcepts: [{
concept: {
attributes: [{
constraints: ['undefined'],
name: 'type'
}, {
constraints: ['undefined'],
name: 'list'
}],
constraints: ['the list attribute is not set'],
name: 'input'
},
module: 'HTML'
}, {
concept: {
attributes: [{
constraints: ['undefined'],
name: 'list'
}, {
name: 'type',
value: 'email'
}],
constraints: ['the list attribute is not set'],
name: 'input'
},
module: 'HTML'
}, {
concept: {
attributes: [{
constraints: ['undefined'],
name: 'list'
}, {
name: 'type',
value: 'tel'
}],
constraints: ['the list attribute is not set'],
name: 'input'
},
module: 'HTML'
}, {
concept: {
attributes: [{
constraints: ['undefined'],
name: 'list'
}, {
name: 'type',
value: 'text'
}],
constraints: ['the list attribute is not set'],
name: 'input'
},
module: 'HTML'
}, {
concept: {
attributes: [{
constraints: ['undefined'],
name: 'list'
}, {
name: 'type',
value: 'url'
}],
constraints: ['the list attribute is not set'],
name: 'input'
},
module: 'HTML'
}, {
concept: {
name: 'input'
},
module: 'XForms'
}, {
concept: {
name: 'textarea'
},
module: 'HTML'
}],
requireContextRole: [],
requiredContextRole: [],
requiredOwnedElements: [],
requiredProps: {},
superClass: [['roletype', 'widget', 'input']]
};
var _default = exports.default = textboxRole;
@@ -0,0 +1,3 @@
export * from "./declarations/src/index";
export { default } from "./declarations/src/index";
//# sourceMappingURL=react-textarea-autosize.cjs.d.ts.map
@@ -0,0 +1,182 @@
[
["0","\u0000",127],
["8ea1","。",62],
["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],
["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],
["a2ba","∈∋⊆⊇⊂⊃∪∩"],
["a2ca","∧∨¬⇒⇔∀∃"],
["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],
["a2f2","ʼn♯♭♪†‡¶"],
["a2fe","◯"],
["a3b0","0",9],
["a3c1","A",25],
["a3e1","a",25],
["a4a1","ぁ",82],
["a5a1","ァ",85],
["a6a1","Α",16,"Σ",6],
["a6c1","α",16,"σ",6],
["a7a1","А",5,"ЁЖ",25],
["a7d1","а",5,"ёж",25],
["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],
["ada1","①",19,"Ⅰ",9],
["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],
["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],
["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],
["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],
["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],
["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],
["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],
["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],
["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],
["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],
["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],
["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],
["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],
["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],
["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],
["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],
["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],
["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],
["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],
["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],
["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],
["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],
["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],
["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],
["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],
["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],
["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],
["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],
["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],
["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],
["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],
["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],
["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],
["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],
["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],
["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],
["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],
["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],
["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],
["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],
["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],
["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],
["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],
["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],
["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],
["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],
["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],
["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],
["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],
["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],
["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],
["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],
["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],
["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],
["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],
["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],
["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],
["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],
["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],
["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],
["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],
["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],
["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],
["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],
["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],
["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],
["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],
["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],
["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],
["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],
["f4a1","堯槇遙瑤凜熙"],
["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],
["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],
["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],
["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],
["fcf1","ⅰ",9,"¬¦'""],
["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],
["8fa2c2","¡¦¿"],
["8fa2eb","ºª©®™¤№"],
["8fa6e1","ΆΈΉΊΪ"],
["8fa6e7","Ό"],
["8fa6e9","ΎΫ"],
["8fa6ec","Ώ"],
["8fa6f1","άέήίϊΐόςύϋΰώ"],
["8fa7c2","Ђ",10,"ЎЏ"],
["8fa7f2","ђ",10,"ўџ"],
["8fa9a1","ÆĐ"],
["8fa9a4","Ħ"],
["8fa9a6","IJ"],
["8fa9a8","ŁĿ"],
["8fa9ab","ŊØŒ"],
["8fa9af","ŦÞ"],
["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],
["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],
["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],
["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],
["8fabbd","ġĥíìïîǐ"],
["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],
["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],
["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],
["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],
["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],
["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],
["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],
["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],
["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],
["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],
["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],
["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],
["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],
["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],
["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],
["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],
["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],
["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],
["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],
["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],
["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],
["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],
["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],
["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],
["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],
["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],
["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],
["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],
["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],
["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],
["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],
["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],
["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],
["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],
["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],
["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],
["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],
["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],
["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],
["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],
["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],
["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],
["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],
["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],
["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],
["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],
["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],
["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],
["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],
["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],
["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],
["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],
["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],
["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],
["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],
["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],
["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],
["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],
["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],
["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],
["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],
["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],
["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]
]
@@ -0,0 +1,10 @@
import Embed from '../blots/embed.js';
declare class Formula extends Embed {
static blotName: string;
static className: string;
static tagName: string;
static create(value: string): Element;
static value(domNode: Element): string | null;
html(): string;
}
export default Formula;
@@ -0,0 +1,6 @@
import { Config } from './types';
/**
* @param baseConfig Config where other config will be merged into. This object will be mutated.
* @param configExtension Partial config to merge into the `baseConfig`.
*/
export declare function mergeConfigs(baseConfig: Config, configExtension: Partial<Config>): Config;
@@ -0,0 +1,64 @@
{
"name": "path-to-regexp",
"version": "8.3.0",
"description": "Express style path to RegExp utility",
"keywords": [
"express",
"regexp",
"route",
"routing"
],
"repository": {
"type": "git",
"url": "https://github.com/pillarjs/path-to-regexp.git"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
},
"license": "MIT",
"exports": "./dist/index.js",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"files": [
"dist/"
],
"scripts": {
"bench": "vitest bench",
"build": "ts-scripts build",
"format": "ts-scripts format",
"lint": "ts-scripts lint",
"prepare": "ts-scripts install && npm run build",
"size": "size-limit",
"specs": "ts-scripts specs",
"test": "ts-scripts test && npm run size"
},
"devDependencies": {
"@borderless/ts-scripts": "^0.15.0",
"@size-limit/preset-small-lib": "^11.1.2",
"@types/node": "^22.7.2",
"@types/semver": "^7.3.1",
"@vitest/coverage-v8": "^3.0.5",
"recheck": "^4.4.5",
"size-limit": "^11.1.2",
"typescript": "^5.7.3",
"vitest": "^3.0.5"
},
"publishConfig": {
"access": "public"
},
"size-limit": [
{
"path": "dist/index.js",
"limit": "2 kB"
}
],
"ts-scripts": {
"dist": [
"dist"
],
"project": [
"tsconfig.build.json"
]
}
}
@@ -0,0 +1,39 @@
// Indonesian [id]
import dayjs from '../index';
var locale = {
name: 'id',
weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
weekStart: 1,
formats: {
LT: 'HH.mm',
LTS: 'HH.mm.ss',
L: 'DD/MM/YYYY',
LL: 'D MMMM YYYY',
LLL: 'D MMMM YYYY [pukul] HH.mm',
LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
},
relativeTime: {
future: 'dalam %s',
past: '%s yang lalu',
s: 'beberapa detik',
m: 'semenit',
mm: '%d menit',
h: 'sejam',
hh: '%d jam',
d: 'sehari',
dd: '%d hari',
M: 'sebulan',
MM: '%d bulan',
y: 'setahun',
yy: '%d tahun'
},
ordinal: function ordinal(n) {
return n + ".";
}
};
dayjs.locale(locale, null, true);
export default locale;
@@ -0,0 +1,11 @@
import * as _heroui_system from '@heroui/system';
import { UsePaginationItemProps } from './use-pagination-item.js';
import 'react';
import '@react-types/shared';
import '@heroui/use-pagination';
interface PaginationItemProps extends UsePaginationItemProps {
}
declare const PaginationItem: _heroui_system.InternalForwardRefRenderFunction<"li", PaginationItemProps, never>;
export { type PaginationItemProps, PaginationItem as default };
@@ -0,0 +1,43 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
/** @typedef {import("./Resolver")} Resolver */
/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */
module.exports = class ResultPlugin {
/**
* @param {ResolveStepHook} source source
*/
constructor(source) {
this.source = source;
}
/**
* @param {Resolver} resolver the resolver
* @returns {void}
*/
apply(resolver) {
this.source.tapAsync(
"ResultPlugin",
(request, resolverContext, callback) => {
const obj = { ...request };
if (resolverContext.log) {
resolverContext.log(`reporting result ${obj.path}`);
}
resolver.hooks.result.callAsync(obj, resolverContext, (err) => {
if (err) return callback(err);
if (typeof resolverContext.yield === "function") {
resolverContext.yield(obj);
callback(null, null);
} else {
callback(null, obj);
}
});
},
);
}
};
@@ -0,0 +1,4 @@
declare const DOMPropNames: Set<string>;
declare const DOMEventNames: Set<string>;
export { DOMEventNames, DOMPropNames };
@@ -0,0 +1,4 @@
import React from 'react';
type UserRef<T> = ((instance: T | null) => void) | React.RefObject<T> | null | undefined;
declare const useComposedRef: <T extends HTMLElement>(libRef: React.MutableRefObject<T | null>, userRef: UserRef<T>) => (instance: T | null) => void;
export default useComposedRef;
@@ -0,0 +1,48 @@
import baseLodash from './_baseLodash.js';
import wrapperClone from './_wrapperClone.js';
/**
* Creates a clone of the chain sequence planting `value` as the wrapped value.
*
* @name plant
* @memberOf _
* @since 3.2.0
* @category Seq
* @param {*} value The value to plant.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
* function square(n) {
* return n * n;
* }
*
* var wrapped = _([1, 2]).map(square);
* var other = wrapped.plant([3, 4]);
*
* other.value();
* // => [9, 16]
*
* wrapped.value();
* // => [1, 4]
*/
function wrapperPlant(value) {
var result,
parent = this;
while (parent instanceof baseLodash) {
var clone = wrapperClone(parent);
clone.__index__ = 0;
clone.__values__ = undefined;
if (result) {
previous.__wrapped__ = clone;
} else {
result = clone;
}
var previous = clone;
parent = parent.__wrapped__;
}
previous.__wrapped__ = value;
return result;
}
export default wrapperPlant;
@@ -0,0 +1,461 @@
import { vi } from 'vitest'
import type { ThunkAction, UnknownAction } from '@reduxjs/toolkit'
import {
isAllOf,
isAnyOf,
isAsyncThunkAction,
isFulfilled,
isPending,
isRejected,
isRejectedWithValue,
createAction,
createAsyncThunk,
createReducer,
} from '@reduxjs/toolkit'
const thunk: ThunkAction<any, any, any, UnknownAction> = () => {}
describe('isAnyOf', () => {
it('returns true only if any matchers match (match function)', () => {
const actionA = createAction<string>('a')
const actionB = createAction<number>('b')
const trueAction = {
type: 'a',
payload: 'payload',
}
expect(isAnyOf(actionA, actionB)(trueAction)).toEqual(true)
const falseAction = {
type: 'c',
payload: 'payload',
}
expect(isAnyOf(actionA, actionB)(falseAction)).toEqual(false)
})
it('returns true only if any type guards match', () => {
const actionA = createAction<string>('a')
const actionB = createAction<number>('b')
const isActionA = actionA.match
const isActionB = actionB.match
const trueAction = {
type: 'a',
payload: 'payload',
}
expect(isAnyOf(isActionA, isActionB)(trueAction)).toEqual(true)
const falseAction = {
type: 'c',
payload: 'payload',
}
expect(isAnyOf(isActionA, isActionB)(falseAction)).toEqual(false)
})
it('returns true only if any matchers match (thunk action creators)', () => {
const thunkA = createAsyncThunk<string>('a', () => {
return 'noop'
})
const thunkB = createAsyncThunk<number>('b', () => {
return 0
})
const action = thunkA.fulfilled('fakeRequestId', 'test')
expect(isAnyOf(thunkA.fulfilled, thunkB.fulfilled)(action)).toEqual(true)
expect(
isAnyOf(thunkA.pending, thunkA.rejected, thunkB.fulfilled)(action),
).toEqual(false)
})
it('works with reducers', () => {
const actionA = createAction<string>('a')
const actionB = createAction<number>('b')
const trueAction = {
type: 'a',
payload: 'payload',
}
const initialState = { value: false }
const reducer = createReducer(initialState, (builder) => {
builder.addMatcher(isAnyOf(actionA, actionB), (state) => {
return { ...state, value: true }
})
})
expect(reducer(initialState, trueAction)).toEqual({ value: true })
const falseAction = {
type: 'c',
payload: 'payload',
}
expect(reducer(initialState, falseAction)).toEqual(initialState)
})
})
describe('isAllOf', () => {
it('returns true only if all matchers match', () => {
const actionA = createAction<string>('a')
interface SpecialAction {
payload: 'SPECIAL'
}
const isActionSpecial = (action: any): action is SpecialAction => {
return action.payload === 'SPECIAL'
}
const trueAction = {
type: 'a',
payload: 'SPECIAL',
}
expect(isAllOf(actionA, isActionSpecial)(trueAction)).toEqual(true)
const falseAction = {
type: 'a',
payload: 'ORDINARY',
}
expect(isAllOf(actionA, isActionSpecial)(falseAction)).toEqual(false)
const thunkA = createAsyncThunk<string>('a', () => 'result')
const specialThunkAction = thunkA.fulfilled('SPECIAL', 'fakeRequestId')
expect(isAllOf(thunkA.fulfilled, isActionSpecial)(specialThunkAction)).toBe(
true,
)
const ordinaryThunkAction = thunkA.fulfilled('ORDINARY', 'fakeRequestId')
expect(
isAllOf(thunkA.fulfilled, isActionSpecial)(ordinaryThunkAction),
).toBe(false)
})
})
describe('isPending', () => {
test('should return false for a regular action', () => {
const action = createAction<string>('action/type')('testPayload')
expect(isPending()(action)).toBe(false)
expect(isPending(action)).toBe(false)
expect(isPending(thunk)).toBe(false)
})
test('should return true only for pending async thunk actions', () => {
const thunk = createAsyncThunk<string>('a', () => 'result')
const pendingAction = thunk.pending('fakeRequestId')
expect(isPending()(pendingAction)).toBe(true)
expect(isPending(pendingAction)).toBe(true)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(isPending()(rejectedAction)).toBe(false)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(isPending()(fulfilledAction)).toBe(false)
})
test('should return true only for thunks provided as arguments', () => {
const thunkA = createAsyncThunk<string>('a', () => 'result')
const thunkB = createAsyncThunk<string>('b', () => 'result')
const thunkC = createAsyncThunk<string>('c', () => 'result')
const matchAC = isPending(thunkA, thunkC)
const matchB = isPending(thunkB)
function testPendingAction(
thunk: typeof thunkA | typeof thunkB | typeof thunkC,
expected: boolean,
) {
const pendingAction = thunk.pending('fakeRequestId')
expect(matchAC(pendingAction)).toBe(expected)
expect(matchB(pendingAction)).toBe(!expected)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(matchAC(rejectedAction)).toBe(false)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(matchAC(fulfilledAction)).toBe(false)
}
testPendingAction(thunkA, true)
testPendingAction(thunkC, true)
testPendingAction(thunkB, false)
})
})
describe('isRejected', () => {
test('should return false for a regular action', () => {
const action = createAction<string>('action/type')('testPayload')
expect(isRejected()(action)).toBe(false)
expect(isRejected(action)).toBe(false)
expect(isRejected(thunk)).toBe(false)
})
test('should return true only for rejected async thunk actions', () => {
const thunk = createAsyncThunk<string>('a', () => 'result')
const pendingAction = thunk.pending('fakeRequestId')
expect(isRejected()(pendingAction)).toBe(false)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(isRejected()(rejectedAction)).toBe(true)
expect(isRejected(rejectedAction)).toBe(true)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(isRejected()(fulfilledAction)).toBe(false)
})
test('should return true only for thunks provided as arguments', () => {
const thunkA = createAsyncThunk<string>('a', () => 'result')
const thunkB = createAsyncThunk<string>('b', () => 'result')
const thunkC = createAsyncThunk<string>('c', () => 'result')
const matchAC = isRejected(thunkA, thunkC)
const matchB = isRejected(thunkB)
function testRejectedAction(
thunk: typeof thunkA | typeof thunkB | typeof thunkC,
expected: boolean,
) {
const pendingAction = thunk.pending('fakeRequestId')
expect(matchAC(pendingAction)).toBe(false)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(matchAC(rejectedAction)).toBe(expected)
expect(matchB(rejectedAction)).toBe(!expected)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(matchAC(fulfilledAction)).toBe(false)
}
testRejectedAction(thunkA, true)
testRejectedAction(thunkC, true)
testRejectedAction(thunkB, false)
})
})
describe('isRejectedWithValue', () => {
test('should return false for a regular action', () => {
const action = createAction<string>('action/type')('testPayload')
expect(isRejectedWithValue()(action)).toBe(false)
expect(isRejectedWithValue(action)).toBe(false)
expect(isRejectedWithValue(thunk)).toBe(false)
})
test('should return true only for rejected-with-value async thunk actions', async () => {
const thunk = createAsyncThunk<string>('a', (_, { rejectWithValue }) => {
return rejectWithValue('rejectWithValue!')
})
const pendingAction = thunk.pending('fakeRequestId')
expect(isRejectedWithValue()(pendingAction)).toBe(false)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(isRejectedWithValue()(rejectedAction)).toBe(false)
const getState = vi.fn(() => ({}))
const dispatch = vi.fn((x: any) => x)
const extra = {}
// note: doesn't throw because we don't unwrap it
const rejectedWithValueAction = await thunk()(dispatch, getState, extra)
expect(isRejectedWithValue()(rejectedWithValueAction)).toBe(true)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(isRejectedWithValue()(fulfilledAction)).toBe(false)
})
test('should return true only for thunks provided as arguments', async () => {
const payloadCreator = (_: any, { rejectWithValue }: any) => {
return rejectWithValue('rejectWithValue!')
}
const thunkA = createAsyncThunk<string>('a', payloadCreator)
const thunkB = createAsyncThunk<string>('b', payloadCreator)
const thunkC = createAsyncThunk<string>('c', payloadCreator)
const matchAC = isRejectedWithValue(thunkA, thunkC)
const matchB = isRejectedWithValue(thunkB)
async function testRejectedAction(
thunk: typeof thunkA | typeof thunkB | typeof thunkC,
expected: boolean,
) {
const pendingAction = thunk.pending('fakeRequestId')
expect(matchAC(pendingAction)).toBe(false)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
// rejected-with-value is a narrower requirement than rejected
expect(matchAC(rejectedAction)).toBe(false)
const getState = vi.fn(() => ({}))
const dispatch = vi.fn((x: any) => x)
const extra = {}
// note: doesn't throw because we don't unwrap it
const rejectedWithValueAction = await thunk()(dispatch, getState, extra)
expect(matchAC(rejectedWithValueAction)).toBe(expected)
expect(matchB(rejectedWithValueAction)).toBe(!expected)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(matchAC(fulfilledAction)).toBe(false)
}
await testRejectedAction(thunkA, true)
await testRejectedAction(thunkC, true)
await testRejectedAction(thunkB, false)
})
})
describe('isFulfilled', () => {
test('should return false for a regular action', () => {
const action = createAction<string>('action/type')('testPayload')
expect(isFulfilled()(action)).toBe(false)
expect(isFulfilled(action)).toBe(false)
expect(isFulfilled(thunk)).toBe(false)
})
test('should return true only for fulfilled async thunk actions', () => {
const thunk = createAsyncThunk<string>('a', () => 'result')
const pendingAction = thunk.pending('fakeRequestId')
expect(isFulfilled()(pendingAction)).toBe(false)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(isFulfilled()(rejectedAction)).toBe(false)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(isFulfilled()(fulfilledAction)).toBe(true)
expect(isFulfilled(fulfilledAction)).toBe(true)
})
test('should return true only for thunks provided as arguments', () => {
const thunkA = createAsyncThunk<string>('a', () => 'result')
const thunkB = createAsyncThunk<string>('b', () => 'result')
const thunkC = createAsyncThunk<string>('c', () => 'result')
const matchAC = isFulfilled(thunkA, thunkC)
const matchB = isFulfilled(thunkB)
function testFulfilledAction(
thunk: typeof thunkA | typeof thunkB | typeof thunkC,
expected: boolean,
) {
const pendingAction = thunk.pending('fakeRequestId')
expect(matchAC(pendingAction)).toBe(false)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(matchAC(rejectedAction)).toBe(false)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(matchAC(fulfilledAction)).toBe(expected)
expect(matchB(fulfilledAction)).toBe(!expected)
}
testFulfilledAction(thunkA, true)
testFulfilledAction(thunkC, true)
testFulfilledAction(thunkB, false)
})
})
describe('isAsyncThunkAction', () => {
test('should return false for a regular action', () => {
const action = createAction<string>('action/type')('testPayload')
expect(isAsyncThunkAction()(action)).toBe(false)
expect(isAsyncThunkAction(action)).toBe(false)
expect(isAsyncThunkAction(thunk)).toBe(false)
})
test('should return true for any async thunk action if no arguments were provided', () => {
const thunk = createAsyncThunk<string>('a', () => 'result')
const matcher = isAsyncThunkAction()
const pendingAction = thunk.pending('fakeRequestId')
expect(matcher(pendingAction)).toBe(true)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(matcher(rejectedAction)).toBe(true)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(matcher(fulfilledAction)).toBe(true)
})
test('should return true only for thunks provided as arguments', () => {
const thunkA = createAsyncThunk<string>('a', () => 'result')
const thunkB = createAsyncThunk<string>('b', () => 'result')
const thunkC = createAsyncThunk<string>('c', () => 'result')
const matchAC = isAsyncThunkAction(thunkA, thunkC)
const matchB = isAsyncThunkAction(thunkB)
function testAllActions(
thunk: typeof thunkA | typeof thunkB | typeof thunkC,
expected: boolean,
) {
const pendingAction = thunk.pending('fakeRequestId')
expect(matchAC(pendingAction)).toBe(expected)
expect(matchB(pendingAction)).toBe(!expected)
const rejectedAction = thunk.rejected(
new Error('rejected'),
'fakeRequestId',
)
expect(matchAC(rejectedAction)).toBe(expected)
expect(matchB(rejectedAction)).toBe(!expected)
const fulfilledAction = thunk.fulfilled('result', 'fakeRequestId')
expect(matchAC(fulfilledAction)).toBe(expected)
expect(matchB(fulfilledAction)).toBe(!expected)
}
testAllActions(thunkA, true)
testAllActions(thunkC, true)
testAllActions(thunkB, false)
})
})
@@ -0,0 +1,4 @@
import { ServiceIdentifier } from '@inversifyjs/common';
import { BindingConstraints } from '@inversifyjs/core';
export declare function isAnyAncestorBindingConstraintsWithServiceId(serviceId: ServiceIdentifier): (constraints: BindingConstraints) => boolean;
//# sourceMappingURL=isAnyAncestorBindingConstraintsWithServiceId.d.ts.map
@@ -0,0 +1,124 @@
"use client";
// src/use-image.ts
import { useCallback } from "react";
import { mapPropsVariants, useProviderContext } from "@heroui/system";
import { image } from "@heroui/theme";
import { useDOMRef } from "@heroui/react-utils";
import { clsx, dataAttr, objectToDeps } from "@heroui/shared-utils";
import { useImage as useImageBase } from "@heroui/use-image";
import { useMemo } from "react";
function useImage(originalProps) {
var _a, _b;
const globalContext = useProviderContext();
const [props, variantProps] = mapPropsVariants(originalProps, image.variantKeys);
const {
ref,
as,
src,
className,
classNames,
loading,
isBlurred,
fallbackSrc,
isLoading: isLoadingProp,
disableSkeleton = !!fallbackSrc,
removeWrapper = false,
onError,
onLoad,
srcSet,
sizes,
crossOrigin,
...otherProps
} = props;
const imageStatus = useImageBase({
src,
loading,
onError,
onLoad,
ignoreFallback: false,
srcSet,
sizes,
crossOrigin
});
const disableAnimation = (_b = (_a = originalProps.disableAnimation) != null ? _a : globalContext == null ? void 0 : globalContext.disableAnimation) != null ? _b : false;
const isImgLoaded = imageStatus === "loaded" && !isLoadingProp;
const isLoading = imageStatus === "loading" || isLoadingProp;
const isZoomed = originalProps.isZoomed;
const Component = as || "img";
const domRef = useDOMRef(ref);
const { w, h } = useMemo(() => {
return {
w: props.width ? typeof props.width === "number" ? `${props.width}px` : props.width : "fit-content",
h: props.height ? typeof props.height === "number" ? `${props.height}px` : props.height : "auto"
};
}, [props == null ? void 0 : props.width, props == null ? void 0 : props.height]);
const showFallback = (!src || !isImgLoaded) && !!fallbackSrc;
const showSkeleton = isLoading && !disableSkeleton;
const slots = useMemo(
() => image({
...variantProps,
disableAnimation,
showSkeleton
}),
[objectToDeps(variantProps), disableAnimation, showSkeleton]
);
const baseStyles = clsx(className, classNames == null ? void 0 : classNames.img);
const getImgProps = (props2 = {}) => {
const imgStyles = clsx(baseStyles, props2 == null ? void 0 : props2.className);
return {
src,
ref: domRef,
"data-loaded": dataAttr(isImgLoaded),
className: slots.img({ class: imgStyles }),
loading,
srcSet,
sizes,
crossOrigin,
...otherProps,
style: {
...(otherProps == null ? void 0 : otherProps.height) && { height: h },
...props2.style,
...otherProps.style
}
};
};
const getWrapperProps = useCallback(() => {
const fallbackStyle = showFallback ? {
backgroundImage: `url(${fallbackSrc})`
} : {};
return {
className: slots.wrapper({ class: classNames == null ? void 0 : classNames.wrapper }),
style: {
...fallbackStyle,
maxWidth: w
}
};
}, [slots, showFallback, fallbackSrc, classNames == null ? void 0 : classNames.wrapper, w]);
const getBlurredImgProps = useCallback(() => {
return {
src,
"aria-hidden": dataAttr(true),
className: slots.blurredImg({ class: classNames == null ? void 0 : classNames.blurredImg })
};
}, [slots, src, classNames == null ? void 0 : classNames.blurredImg]);
return {
Component,
domRef,
slots,
classNames,
isBlurred,
disableSkeleton,
fallbackSrc,
removeWrapper,
isZoomed,
isLoading,
getImgProps,
getWrapperProps,
getBlurredImgProps
};
}
export {
useImage
};
Loaded 100 of 35554 files, more files were not shown because too many files have changed in this diff. Show more