fix(products): fix breadcrumbs and product filtering (backport from main)
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled

This commit is contained in:
2026-02-24 16:04:21 +01:00
parent 915eb61613
commit 5397309103
43805 changed files with 4324295 additions and 3 deletions

View File

@@ -0,0 +1,15 @@
export const defaultDrizzleSnapshot = {
id: '00000000-0000-0000-0000-000000000000',
_meta: {
columns: {},
tables: {}
},
dialect: 'sqlite',
enums: {},
prevId: '00000000-0000-0000-0000-00000000000',
tables: {},
version: '6',
views: {}
};
//# sourceMappingURL=defaultSnapshot.js.map

View File

@@ -0,0 +1,65 @@
import { isSameWeek } from "../../../isSameWeek.js";
const adjectivesLastWeek = {
masculine: "ostatni",
feminine: "ostatnia",
};
const adjectivesThisWeek = {
masculine: "ten",
feminine: "ta",
};
const adjectivesNextWeek = {
masculine: "następny",
feminine: "następna",
};
const dayGrammaticalGender = {
0: "feminine",
1: "masculine",
2: "masculine",
3: "feminine",
4: "masculine",
5: "masculine",
6: "feminine",
};
function dayAndTimeWithAdjective(token, date, baseDate, options) {
let adjectives;
if (isSameWeek(date, baseDate, options)) {
adjectives = adjectivesThisWeek;
} else if (token === "lastWeek") {
adjectives = adjectivesLastWeek;
} else if (token === "nextWeek") {
adjectives = adjectivesNextWeek;
} else {
throw new Error(`Cannot determine adjectives for token ${token}`);
}
const day = date.getDay();
const grammaticalGender = dayGrammaticalGender[day];
const adjective = adjectives[grammaticalGender];
return `'${adjective}' eeee 'o' p`;
}
const formatRelativeLocale = {
lastWeek: dayAndTimeWithAdjective,
yesterday: "'wczoraj o' p",
today: "'dzisiaj o' p",
tomorrow: "'jutro o' p",
nextWeek: dayAndTimeWithAdjective,
other: "P",
};
export const formatRelative = (token, date, baseDate, options) => {
const format = formatRelativeLocale[token];
if (typeof format === "function") {
return format(token, date, baseDate, options);
}
return format;
};

View File

@@ -0,0 +1,21 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const Building2 = createLucideIcon("Building2", [
["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }],
["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }],
["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }],
["path", { d: "M10 6h4", key: "1itunk" }],
["path", { d: "M10 10h4", key: "tcdvrf" }],
["path", { d: "M10 14h4", key: "kelpxr" }],
["path", { d: "M10 18h4", key: "1ulq68" }]
]);
export { Building2 as default };
//# sourceMappingURL=building-2.js.map

View File

@@ -0,0 +1,19 @@
'use strict';
const BINARY_TYPES = ['nodebuffer', 'arraybuffer', 'fragments'];
const hasBlob = typeof Blob !== 'undefined';
if (hasBlob) BINARY_TYPES.push('blob');
module.exports = {
BINARY_TYPES,
CLOSE_TIMEOUT: 30000,
EMPTY_BUFFER: Buffer.alloc(0),
GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',
hasBlob,
kForOnEventAttribute: Symbol('kIsForOnEventAttribute'),
kListener: Symbol('kListener'),
kStatusCode: Symbol('status-code'),
kWebSocket: Symbol('websocket'),
NOOP: () => {}
};

View File

@@ -0,0 +1,3 @@
import type { EmailField } from '../../fields/config/types.js';
export declare const emailFieldConfig: EmailField;
//# sourceMappingURL=email.d.ts.map

View File

@@ -0,0 +1,166 @@
import { calcGeneratorDuration, maxGeneratorDuration, generateLinearEasing } from 'motion-dom';
import { millisecondsToSeconds, secondsToMilliseconds } from 'motion-utils';
import { clamp } from '../../../utils/clamp.mjs';
import { calcGeneratorVelocity } from '../utils/velocity.mjs';
import { springDefaults } from './defaults.mjs';
import { findSpring, calcAngularFreq } from './find.mjs';
const durationKeys = ["duration", "bounce"];
const physicsKeys = ["stiffness", "damping", "mass"];
function isSpringType(options, keys) {
return keys.some((key) => options[key] !== undefined);
}
function getSpringOptions(options) {
let springOptions = {
velocity: springDefaults.velocity,
stiffness: springDefaults.stiffness,
damping: springDefaults.damping,
mass: springDefaults.mass,
isResolvedFromDuration: false,
...options,
};
// stiffness/damping/mass overrides duration/bounce
if (!isSpringType(options, physicsKeys) &&
isSpringType(options, durationKeys)) {
if (options.visualDuration) {
const visualDuration = options.visualDuration;
const root = (2 * Math.PI) / (visualDuration * 1.2);
const stiffness = root * root;
const damping = 2 *
clamp(0.05, 1, 1 - (options.bounce || 0)) *
Math.sqrt(stiffness);
springOptions = {
...springOptions,
mass: springDefaults.mass,
stiffness,
damping,
};
}
else {
const derived = findSpring(options);
springOptions = {
...springOptions,
...derived,
mass: springDefaults.mass,
};
springOptions.isResolvedFromDuration = true;
}
}
return springOptions;
}
function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce = springDefaults.bounce) {
const options = typeof optionsOrVisualDuration !== "object"
? {
visualDuration: optionsOrVisualDuration,
keyframes: [0, 1],
bounce,
}
: optionsOrVisualDuration;
let { restSpeed, restDelta } = options;
const origin = options.keyframes[0];
const target = options.keyframes[options.keyframes.length - 1];
/**
* This is the Iterator-spec return value. We ensure it's mutable rather than using a generator
* to reduce GC during animation.
*/
const state = { done: false, value: origin };
const { stiffness, damping, mass, duration, velocity, isResolvedFromDuration, } = getSpringOptions({
...options,
velocity: -millisecondsToSeconds(options.velocity || 0),
});
const initialVelocity = velocity || 0.0;
const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));
const initialDelta = target - origin;
const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));
/**
* If we're working on a granular scale, use smaller defaults for determining
* when the spring is finished.
*
* These defaults have been selected emprically based on what strikes a good
* ratio between feeling good and finishing as soon as changes are imperceptible.
*/
const isGranularScale = Math.abs(initialDelta) < 5;
restSpeed || (restSpeed = isGranularScale
? springDefaults.restSpeed.granular
: springDefaults.restSpeed.default);
restDelta || (restDelta = isGranularScale
? springDefaults.restDelta.granular
: springDefaults.restDelta.default);
let resolveSpring;
if (dampingRatio < 1) {
const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);
// Underdamped spring
resolveSpring = (t) => {
const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);
return (target -
envelope *
(((initialVelocity +
dampingRatio * undampedAngularFreq * initialDelta) /
angularFreq) *
Math.sin(angularFreq * t) +
initialDelta * Math.cos(angularFreq * t)));
};
}
else if (dampingRatio === 1) {
// Critically damped spring
resolveSpring = (t) => target -
Math.exp(-undampedAngularFreq * t) *
(initialDelta +
(initialVelocity + undampedAngularFreq * initialDelta) * t);
}
else {
// Overdamped spring
const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);
resolveSpring = (t) => {
const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);
// When performing sinh or cosh values can hit Infinity so we cap them here
const freqForT = Math.min(dampedAngularFreq * t, 300);
return (target -
(envelope *
((initialVelocity +
dampingRatio * undampedAngularFreq * initialDelta) *
Math.sinh(freqForT) +
dampedAngularFreq *
initialDelta *
Math.cosh(freqForT))) /
dampedAngularFreq);
};
}
const generator = {
calculatedDuration: isResolvedFromDuration ? duration || null : null,
next: (t) => {
const current = resolveSpring(t);
if (!isResolvedFromDuration) {
let currentVelocity = 0.0;
/**
* We only need to calculate velocity for under-damped springs
* as over- and critically-damped springs can't overshoot, so
* checking only for displacement is enough.
*/
if (dampingRatio < 1) {
currentVelocity =
t === 0
? secondsToMilliseconds(initialVelocity)
: calcGeneratorVelocity(resolveSpring, t, current);
}
const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;
const isBelowDisplacementThreshold = Math.abs(target - current) <= restDelta;
state.done =
isBelowVelocityThreshold && isBelowDisplacementThreshold;
}
else {
state.done = t >= duration;
}
state.value = state.done ? target : current;
return state;
},
toString: () => {
const calculatedDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
const easing = generateLinearEasing((progress) => generator.next(calculatedDuration * progress).value, calculatedDuration, 30);
return calculatedDuration + "ms " + easing;
},
};
return generator;
}
export { spring };

View File

@@ -0,0 +1,85 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.NoFragmentCyclesRule = NoFragmentCyclesRule;
var _GraphQLError = require('../../error/GraphQLError.js');
/**
* No fragment cycles
*
* The graph of fragment spreads must not form any cycles including spreading itself.
* Otherwise an operation could infinitely spread or infinitely execute on cycles in the underlying data.
*
* See https://spec.graphql.org/draft/#sec-Fragment-spreads-must-not-form-cycles
*/
function NoFragmentCyclesRule(context) {
// Tracks already visited fragments to maintain O(N) and to ensure that cycles
// are not redundantly reported.
const visitedFrags = Object.create(null); // Array of AST nodes used to produce meaningful errors
const spreadPath = []; // Position in the spread path
const spreadPathIndexByName = Object.create(null);
return {
OperationDefinition: () => false,
FragmentDefinition(node) {
detectCycleRecursive(node);
return false;
},
}; // This does a straight-forward DFS to find cycles.
// It does not terminate when a cycle was found but continues to explore
// the graph to find all possible cycles.
function detectCycleRecursive(fragment) {
if (visitedFrags[fragment.name.value]) {
return;
}
const fragmentName = fragment.name.value;
visitedFrags[fragmentName] = true;
const spreadNodes = context.getFragmentSpreads(fragment.selectionSet);
if (spreadNodes.length === 0) {
return;
}
spreadPathIndexByName[fragmentName] = spreadPath.length;
for (const spreadNode of spreadNodes) {
const spreadName = spreadNode.name.value;
const cycleIndex = spreadPathIndexByName[spreadName];
spreadPath.push(spreadNode);
if (cycleIndex === undefined) {
const spreadFragment = context.getFragment(spreadName);
if (spreadFragment) {
detectCycleRecursive(spreadFragment);
}
} else {
const cyclePath = spreadPath.slice(cycleIndex);
const viaPath = cyclePath
.slice(0, -1)
.map((s) => '"' + s.name.value + '"')
.join(', ');
context.reportError(
new _GraphQLError.GraphQLError(
`Cannot spread fragment "${spreadName}" within itself` +
(viaPath !== '' ? ` via ${viaPath}.` : '.'),
{
nodes: cyclePath,
},
),
);
}
spreadPath.pop();
}
spreadPathIndexByName[fragmentName] = undefined;
}
}

View File

@@ -0,0 +1,3 @@
import { GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql';
export declare const GraphQLCurrencyConfig: GraphQLScalarTypeConfig<string, string>;
export declare const GraphQLCurrency: GraphQLScalarType<string, string>;

View File

@@ -0,0 +1,5 @@
export declare const isSameMinute: import("./types.js").FPFn2<
boolean,
string | number | Date,
string | number | Date
>;

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="32px" height="26px" viewBox="0 0 32 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 3.7.1 (28215) - http://www.bohemiancoding.com/sketch -->
<title>Slice 1</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="date-fns-mini-logo" fill="#770C56">
<g id="Page-1">
<g id="logo">
<g id="Page-1">
<g id="Solid-logo">
<g id="White-logo">
<path d="M0.0773377951,12.9617647 C0.0773377951,10.4657522 0.541359926,8.11201106 1.46941811,5.90047059 C2.39747629,3.68893013 3.73386003,1.72977324 5.47860941,0.0229411764 L8.98665179,0.0229411764 C5.34866372,3.58342956 3.52969697,7.89632761 3.52969697,12.9617647 C3.52969697,18.0272018 5.34866372,22.3400999 8.98665179,25.9005883 L5.47860941,25.9005883 C3.73386003,24.1937561 2.39747629,22.2345993 1.46941811,20.0230588 C0.541359926,17.8115184 0.0773377951,15.4577772 0.0773377951,12.9617647 L0.0773377951,12.9617647 L0.0773377951,12.9617647 L0.0773377951,12.9617647 Z M31.4378137,12.9617647 C31.4378137,15.4577772 30.9737916,17.8115184 30.0457334,20.0230588 C29.1176752,22.2345993 27.7812915,24.1937561 26.0365421,25.9005883 L22.5284998,25.9005883 C26.1664878,22.3400999 27.9854545,18.0272018 27.9854545,12.9617647 C27.9854545,7.89632761 26.1664878,3.58342956 22.5284998,0.0229411764 L26.0365421,0.0229411764 C27.7812915,1.72977324 29.1176752,3.68893013 30.0457334,5.90047059 C30.9737916,8.11201106 31.4378137,10.4657522 31.4378137,12.9617647 L31.4378137,12.9617647 L31.4378137,12.9617647 L31.4378137,12.9617647 Z" id="Parans"></path>
<g id="Hands" transform="translate(12.954081, 1.720588)">
<rect id="Hand" x="0" y="0" width="2.32013386" height="13.1911764"></rect>
<polygon id="Hand" points="2.3189551 13.1499342 0.815087916 11.6629302 10.2484366 2.3353599 11.7523038 3.82236388 2.3189551 13.1499342"></polygon>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,41 @@
"use strict";
exports.formatLong = void 0;
var _index = require("../../_lib/buildFormatLongFn.cjs");
const dateFormats = {
full: "EEEE, d 'de' MMMM 'de' y",
long: "d 'de' MMMM 'de' y",
medium: "d MMM y",
short: "dd/MM/y",
};
const timeFormats = {
full: "HH:mm:ss zzzz",
long: "HH:mm:ss z",
medium: "HH:mm:ss",
short: "HH:mm",
};
const dateTimeFormats = {
full: "{{date}} 'a las' {{time}}",
long: "{{date}} 'a las' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}",
};
const formatLong = (exports.formatLong = {
date: (0, _index.buildFormatLongFn)({
formats: dateFormats,
defaultWidth: "full",
}),
time: (0, _index.buildFormatLongFn)({
formats: timeFormats,
defaultWidth: "full",
}),
dateTime: (0, _index.buildFormatLongFn)({
formats: dateTimeFormats,
defaultWidth: "full",
}),
});

View File

@@ -0,0 +1,2 @@
export { tr } from '@payloadcms/translations/languages/tr';
//# sourceMappingURL=tr.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"koa.d.ts","sourceRoot":"","sources":["../../../../src/integrations/tracing/koa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAexE,UAAU,UAAU;IAClB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC;CACnD;AAID,eAAO,MAAM,aAAa;;CAsCzB,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,cAAc,0EAAqC,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,oBAAoB,GAAI,KAAK;IAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,IAgB3G,CAAC"}

View File

@@ -0,0 +1,28 @@
"use strict";
exports.enZA = void 0;
var _index = require("./en-US/_lib/formatDistance.js");
var _index2 = require("./en-US/_lib/formatRelative.js");
var _index3 = require("./en-US/_lib/localize.js");
var _index4 = require("./en-US/_lib/match.js");
var _index5 = require("./en-ZA/_lib/formatLong.js");
/**
* @category Locales
* @summary English locale (South Africa).
* @language English
* @iso-639-2 eng
* @author Shaila Kavrakova [@shaykav](https://github.com/shaykav)
*/
const enZA = (exports.enZA = {
code: "en-ZA",
formatDistance: _index.formatDistance,
formatLong: _index5.formatLong,
formatRelative: _index2.formatRelative,
localize: _index3.localize,
match: _index4.match,
options: {
weekStartsOn: 0, // Sunday is the first day of the week.
firstWeekContainsDate: 1, // The week that contains Jan 1st is the first week of the year.
},
});

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvc3RyaWN0LWRlZXAtb21pdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVlcE1vZGlmeSB9IGZyb20gXCIuLi9kZWVwLW1vZGlmeVwiO1xuaW1wb3J0IHsgRGVlcE9taXQgfSBmcm9tIFwiLi4vZGVlcC1vbWl0XCI7XG5cbmV4cG9ydCB0eXBlIFN0cmljdERlZXBPbWl0PFR5cGUsIEZpbHRlciBleHRlbmRzIERlZXBNb2RpZnk8VHlwZT4+ID0gRGVlcE9taXQ8VHlwZSwgRmlsdGVyPjtcbiJdfQ==

View File

@@ -0,0 +1,26 @@
import { JOSENotSupported } from '../util/errors.js';
export default function subtleDsa(alg, algorithm) {
const hash = `SHA-${alg.slice(-3)}`;
switch (alg) {
case 'HS256':
case 'HS384':
case 'HS512':
return { hash, name: 'HMAC' };
case 'PS256':
case 'PS384':
case 'PS512':
return { hash, name: 'RSA-PSS', saltLength: alg.slice(-3) >> 3 };
case 'RS256':
case 'RS384':
case 'RS512':
return { hash, name: 'RSASSA-PKCS1-v1_5' };
case 'ES256':
case 'ES384':
case 'ES512':
return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
case 'EdDSA':
return { name: algorithm.name };
default:
throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
}
}

View File

@@ -0,0 +1 @@
{"version":3,"file":"wrapAppGetInitialPropsWithSentry.js","sources":["../../../../src/common/pages-router-instrumentation/wrapAppGetInitialPropsWithSentry.ts"],"sourcesContent":["import type App from 'next/app';\nimport { isBuild } from '../utils/isBuild';\nimport { withErrorInstrumentation, withTracedServerSideDataFetcher } from '../utils/wrapperUtils';\n\ntype AppGetInitialProps = (typeof App)['getInitialProps'];\n\n/**\n * Create a wrapped version of the user's exported `getInitialProps` function in\n * a custom app (\"_app.js\").\n *\n * @param origAppGetInitialProps The user's `getInitialProps` function\n * @param parameterizedRoute The page's parameterized route\n * @returns A wrapped version of the function\n */\nexport function wrapAppGetInitialPropsWithSentry(origAppGetInitialProps: AppGetInitialProps): AppGetInitialProps {\n return new Proxy(origAppGetInitialProps, {\n apply: async (wrappingTarget, thisArg, args: Parameters<AppGetInitialProps>) => {\n if (isBuild()) {\n return wrappingTarget.apply(thisArg, args);\n }\n\n const [context] = args;\n const { req, res } = context.ctx;\n\n const errorWrappedAppGetInitialProps = withErrorInstrumentation(wrappingTarget);\n\n // Generally we can assume that `req` and `res` are always defined on the server:\n // https://nextjs.org/docs/api-reference/data-fetching/get-initial-props#context-object\n // This does not seem to be the case in dev mode. Because we have no clean way of associating the the data fetcher\n // span with each other when there are no req or res objects, we simply do not trace them at all here.\n if (req && res) {\n const tracedGetInitialProps = withTracedServerSideDataFetcher(errorWrappedAppGetInitialProps, req, res, {\n dataFetcherRouteName: '/_app',\n requestedRouteName: context.ctx.pathname,\n dataFetchingMethodName: 'getInitialProps',\n });\n\n const {\n data: appGetInitialProps,\n sentryTrace,\n baggage,\n }: {\n data?: unknown;\n sentryTrace?: string;\n baggage?: string;\n } = await tracedGetInitialProps.apply(thisArg, args);\n\n if (typeof appGetInitialProps === 'object' && appGetInitialProps !== null) {\n // Per definition, `pageProps` is not optional, however an increased amount of users doesn't seem to call\n // `App.getInitialProps(appContext)` in their custom `_app` pages which is required as per\n // https://nextjs.org/docs/advanced-features/custom-app - resulting in missing `pageProps`.\n // For this reason, we just handle the case where `pageProps` doesn't exist explicitly.\n if (!(appGetInitialProps as Record<string, unknown>).pageProps) {\n (appGetInitialProps as Record<string, unknown>).pageProps = {};\n }\n\n // The Next.js serializer throws on undefined values so we need to guard for it (#12102)\n if (sentryTrace) {\n (appGetInitialProps as { pageProps: Record<string, unknown> }).pageProps._sentryTraceData = sentryTrace;\n }\n\n // The Next.js serializer throws on undefined values so we need to guard for it (#12102)\n if (baggage) {\n (appGetInitialProps as { pageProps: Record<string, unknown> }).pageProps._sentryBaggage = baggage;\n }\n }\n\n return appGetInitialProps;\n } else {\n return errorWrappedAppGetInitialProps.apply(thisArg, args);\n }\n },\n });\n}\n"],"names":[],"mappings":";;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,gCAAgC,CAAC,sBAAsB,EAA0C;AACjH,EAAE,OAAO,IAAI,KAAK,CAAC,sBAAsB,EAAE;AAC3C,IAAI,KAAK,EAAE,OAAO,cAAc,EAAE,OAAO,EAAE,IAAI,KAAqC;AACpF,MAAM,IAAI,OAAO,EAAE,EAAE;AACrB,QAAQ,OAAO,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAClD,MAAM;;AAEN,MAAM,MAAM,CAAC,OAAO,CAAA,GAAI,IAAI;AAC5B,MAAM,MAAM,EAAE,GAAG,EAAE,KAAI,GAAI,OAAO,CAAC,GAAG;;AAEtC,MAAM,MAAM,8BAAA,GAAiC,wBAAwB,CAAC,cAAc,CAAC;;AAErF;AACA;AACA;AACA;AACA,MAAM,IAAI,GAAA,IAAO,GAAG,EAAE;AACtB,QAAQ,MAAM,qBAAA,GAAwB,+BAA+B,CAAC,8BAA8B,EAAE,GAAG,EAAE,GAAG,EAAE;AAChH,UAAU,oBAAoB,EAAE,OAAO;AACvC,UAAU,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;AAClD,UAAU,sBAAsB,EAAE,iBAAiB;AACnD,SAAS,CAAC;;AAEV,QAAQ,MAAM;AACd,UAAU,IAAI,EAAE,kBAAkB;AAClC,UAAU,WAAW;AACrB,UAAU,OAAO;AACjB;;AAIQ,GAAI,MAAM,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;;AAE5D,QAAQ,IAAI,OAAO,kBAAA,KAAuB,YAAY,kBAAA,KAAuB,IAAI,EAAE;AACnF;AACA;AACA;AACA;AACA,UAAU,IAAI,CAAC,CAAC,qBAA+C,SAAS,EAAE;AAC1E,YAAY,CAAC,kBAAA,GAA+C,SAAA,GAAY,EAAE;AAC1E,UAAU;;AAEV;AACA,UAAU,IAAI,WAAW,EAAE;AAC3B,YAAY,CAAC,qBAA8D,SAAS,CAAC,gBAAA,GAAmB,WAAW;AACnH,UAAU;;AAEV;AACA,UAAU,IAAI,OAAO,EAAE;AACvB,YAAY,CAAC,qBAA8D,SAAS,CAAC,cAAA,GAAiB,OAAO;AAC7G,UAAU;AACV,QAAQ;;AAER,QAAQ,OAAO,kBAAkB;AACjC,MAAM,OAAO;AACb,QAAQ,OAAO,8BAA8B,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAClE,MAAM;AACN,IAAI,CAAC;AACL,GAAG,CAAC;AACJ;;;;"}

View File

@@ -0,0 +1,215 @@
"use strict";
exports.localize = void 0;
var _index = require("../../_lib/buildLocalizeFn.js");
const eraValues = {
narrow: ["p.n.e.", "n.e."],
abbreviated: ["p.n.e.", "n.e."],
wide: ["przed naszą erą", "naszej ery"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["I kw.", "II kw.", "III kw.", "IV kw."],
wide: ["I kwartał", "II kwartał", "III kwartał", "IV kwartał"],
};
const monthValues = {
narrow: ["S", "L", "M", "K", "M", "C", "L", "S", "W", "P", "L", "G"],
abbreviated: [
"sty",
"lut",
"mar",
"kwi",
"maj",
"cze",
"lip",
"sie",
"wrz",
"paź",
"lis",
"gru",
],
wide: [
"styczeń",
"luty",
"marzec",
"kwiecień",
"maj",
"czerwiec",
"lipiec",
"sierpień",
"wrzesień",
"październik",
"listopad",
"grudzień",
],
};
const monthFormattingValues = {
narrow: ["s", "l", "m", "k", "m", "c", "l", "s", "w", "p", "l", "g"],
abbreviated: [
"sty",
"lut",
"mar",
"kwi",
"maj",
"cze",
"lip",
"sie",
"wrz",
"paź",
"lis",
"gru",
],
wide: [
"stycznia",
"lutego",
"marca",
"kwietnia",
"maja",
"czerwca",
"lipca",
"sierpnia",
"września",
"października",
"listopada",
"grudnia",
],
};
const dayValues = {
narrow: ["N", "P", "W", "Ś", "C", "P", "S"],
short: ["nie", "pon", "wto", "śro", "czw", "pią", "sob"],
abbreviated: ["niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."],
wide: [
"niedziela",
"poniedziałek",
"wtorek",
"środa",
"czwartek",
"piątek",
"sobota",
],
};
const dayFormattingValues = {
narrow: ["n", "p", "w", "ś", "c", "p", "s"],
short: ["nie", "pon", "wto", "śro", "czw", "pią", "sob"],
abbreviated: ["niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."],
wide: [
"niedziela",
"poniedziałek",
"wtorek",
"środa",
"czwartek",
"piątek",
"sobota",
],
};
const dayPeriodValues = {
narrow: {
am: "a",
pm: "p",
midnight: "półn.",
noon: "poł",
morning: "rano",
afternoon: "popoł.",
evening: "wiecz.",
night: "noc",
},
abbreviated: {
am: "AM",
pm: "PM",
midnight: "północ",
noon: "południe",
morning: "rano",
afternoon: "popołudnie",
evening: "wieczór",
night: "noc",
},
wide: {
am: "AM",
pm: "PM",
midnight: "północ",
noon: "południe",
morning: "rano",
afternoon: "popołudnie",
evening: "wieczór",
night: "noc",
},
};
const dayPeriodFormattingValues = {
narrow: {
am: "a",
pm: "p",
midnight: "o półn.",
noon: "w poł.",
morning: "rano",
afternoon: "po poł.",
evening: "wiecz.",
night: "w nocy",
},
abbreviated: {
am: "AM",
pm: "PM",
midnight: "o północy",
noon: "w południe",
morning: "rano",
afternoon: "po południu",
evening: "wieczorem",
night: "w nocy",
},
wide: {
am: "AM",
pm: "PM",
midnight: "o północy",
noon: "w południe",
morning: "rano",
afternoon: "po południu",
evening: "wieczorem",
night: "w nocy",
},
};
const ordinalNumber = (dirtyNumber, _options) => {
return String(dirtyNumber);
};
const localize = (exports.localize = {
ordinalNumber,
era: (0, _index.buildLocalizeFn)({
values: eraValues,
defaultWidth: "wide",
}),
quarter: (0, _index.buildLocalizeFn)({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: (0, _index.buildLocalizeFn)({
values: monthValues,
defaultWidth: "wide",
formattingValues: monthFormattingValues,
defaultFormattingWidth: "wide",
}),
day: (0, _index.buildLocalizeFn)({
values: dayValues,
defaultWidth: "wide",
formattingValues: dayFormattingValues,
defaultFormattingWidth: "wide",
}),
dayPeriod: (0, _index.buildLocalizeFn)({
values: dayPeriodValues,
defaultWidth: "wide",
formattingValues: dayPeriodFormattingValues,
defaultFormattingWidth: "wide",
}),
});

View File

@@ -0,0 +1,6 @@
/*
* This file was automatically generated.
* DO NOT MODIFY BY HAND.
* Run `yarn fix:special` to update
*/
"use strict";function r(e,{instancePath:t="",parentData:o,parentDataProperty:a,rootData:s=e}={}){if(!e||"object"!=typeof e||Array.isArray(e))return r.errors=[{params:{type:"object"}}],!1;{const t=0;for(const t in e)if("exportsDepth"!==t&&"namedExports"!==t&&"parse"!==t)return r.errors=[{params:{additionalProperty:t}}],!1;if(0===t){if(void 0!==e.exportsDepth){const t=0;if("number"!=typeof e.exportsDepth)return r.errors=[{params:{type:"number"}}],!1;var n=0===t}else n=!0;if(n){if(void 0!==e.namedExports){const t=0;if("boolean"!=typeof e.namedExports)return r.errors=[{params:{type:"boolean"}}],!1;n=0===t}else n=!0;if(n)if(void 0!==e.parse){const t=0;if(!(e.parse instanceof Function))return r.errors=[{params:{}}],!1;n=0===t}else n=!0}}}return r.errors=null,!0}module.exports=r,module.exports.default=r;

View File

@@ -0,0 +1 @@
module.exports={A:{A:{"2":"K D E F A B zC"},B:{"1":"0 1 2 3 4 5 6 7 8 G 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 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I","2":"C","388":"L M"},C:{"1":"0 1 2 3 4 5 6 7 8 BB CB DB EB FB GB HB IB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B WC 6B XC 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC Q H R YC 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 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I ZC aC OC 1C 2C 3C","2":"9 0C VC J bB K D E F A B C L M G N O P cB AB 4C 5C"},D:{"1":"0 1 2 3 4 5 6 7 8 iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B WC 6B XC 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC 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 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I ZC aC OC","2":"9 J bB K D E F A B C L M G N O P cB AB BB CB DB EB","132":"FB GB HB IB dB eB fB gB hB"},E:{"1":"F A B C L M G AD cC PC QC BD CD DD dC eC RC ED SC fC gC hC iC jC FD TC kC lC mC nC oC GD UC pC qC rC sC HD tC uC vC wC ID","2":"J bB K D 6C bC 7C","388":"E 9C","514":"8C"},F:{"1":"0 1 2 3 4 5 6 7 8 BB CB DB EB FB GB HB IB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC Q H R YC 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":"F B C JD KD LD MD PC xC ND QC","132":"9 G N O P cB AB"},G:{"1":"TD UD VD WD XD YD ZD aD bD cD dD eD fD gD hD dC eC RC iD SC fC gC hC iC jC jD TC kC lC mC nC oC kD UC pC qC rC sC lD tC uC vC wC","2":"bC OD yC PD QD RD","388":"E SD"},H:{"2":"mD"},I:{"1":"I rD sD","2":"VC J nD oD pD qD yC"},J:{"2":"D A"},K:{"1":"H","2":"A B C PC xC QC"},L:{"1":"I"},M:{"1":"OC"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"9 J AB BB CB DB EB FB GB HB IB tD uD vD wD xD cC yD zD 0D 1D 2D SC TC UC 3D"},Q:{"1":"4D"},R:{"1":"5D"},S:{"1":"6D 7D"}},B:1,C:"HTML templates",D:true};

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","names":["React","HtmlDiff","baseClass","getHTMLDiffComponents","fromHTML","toHTML","tokenizeByCharacter","diffHTML","oldHTML","newHTML","getSideBySideContents","From","_jsx","className","dangerouslySetInnerHTML","__html","To"],"sources":["../../../src/elements/HTMLDiff/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { HtmlDiff } from './diff/index.js'\nimport './index.scss'\n\nconst baseClass = 'html-diff'\n\nexport const getHTMLDiffComponents = ({\n fromHTML,\n toHTML,\n tokenizeByCharacter,\n}: {\n fromHTML: string\n toHTML: string\n tokenizeByCharacter?: boolean\n}): {\n From: React.ReactNode\n To: React.ReactNode\n} => {\n const diffHTML = new HtmlDiff(fromHTML, toHTML, {\n tokenizeByCharacter,\n })\n\n const [oldHTML, newHTML] = diffHTML.getSideBySideContents()\n\n const From = oldHTML ? (\n <div\n className={`${baseClass}__diff-old html-diff`}\n dangerouslySetInnerHTML={{ __html: oldHTML }}\n />\n ) : null\n\n const To = newHTML ? (\n <div\n className={`${baseClass}__diff-new html-diff`}\n dangerouslySetInnerHTML={{ __html: newHTML }}\n />\n ) : null\n\n return { From, To }\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,qBAAA,GAAwBA,CAAC;EACpCC,QAAQ;EACRC,MAAM;EACNC;AAAmB,CAKpB;EAIC,MAAMC,QAAA,GAAW,IAAIN,QAAA,CAASG,QAAA,EAAUC,MAAA,EAAQ;IAC9CC;EACF;EAEA,MAAM,CAACE,OAAA,EAASC,OAAA,CAAQ,GAAGF,QAAA,CAASG,qBAAqB;EAEzD,MAAMC,IAAA,GAAOH,OAAA,gBACXI,IAAA,CAAC;IACCC,SAAA,EAAW,GAAGX,SAAA,sBAA+B;IAC7CY,uBAAA,EAAyB;MAAEC,MAAA,EAAQP;IAAQ;OAE3C;EAEJ,MAAMQ,EAAA,GAAKP,OAAA,gBACTG,IAAA,CAAC;IACCC,SAAA,EAAW,GAAGX,SAAA,sBAA+B;IAC7CY,uBAAA,EAAyB;MAAEC,MAAA,EAAQN;IAAQ;OAE3C;EAEJ,OAAO;IAAEE,IAAA;IAAMK;EAAG;AACpB","ignoreList":[]}

View File

@@ -0,0 +1,18 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const FileCode2 = createLucideIcon("FileCode2", [
["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }],
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
["path", { d: "m5 12-3 3 3 3", key: "oke12k" }],
["path", { d: "m9 18 3-3-3-3", key: "112psh" }]
]);
export { FileCode2 as default };
//# sourceMappingURL=file-code-2.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/getTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAU,CAAC,SAAS,cAAc,4BAClD,CAAC,QACJ,OAAO,CAAC,cAAc,CAAC,KAC5B,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAMtB,CAAA"}

View File

@@ -0,0 +1,4 @@
export declare const getWeek: import("./types.js").FPFn1<
number,
string | number | Date
>;

View File

@@ -0,0 +1,121 @@
'use strict'
const { test } = require('tap')
const { fork } = require('child_process')
const { join } = require('path')
const { readFile } = require('fs').promises
const { file } = require('./helper')
const { once } = require('events')
const ThreadStream = require('..')
test('exits with 0', async function (t) {
const dest = file()
const child = fork(join(__dirname, 'create-and-exit.js'), [dest])
const [code] = await once(child, 'exit')
t.equal(code, 0)
const data = await readFile(dest, 'utf8')
t.equal(data, 'hello world\n')
})
test('emit error if thread exits', async function (t) {
const stream = new ThreadStream({
filename: join(__dirname, 'exit.js'),
sync: true
})
stream.on('ready', () => {
stream.write('hello world\n')
})
let [err] = await once(stream, 'error')
t.equal(err.message, 'the worker thread exited')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
})
test('emit error if thread have unhandledRejection', async function (t) {
const stream = new ThreadStream({
filename: join(__dirname, 'unhandledRejection.js'),
sync: true
})
stream.on('ready', () => {
stream.write('hello world\n')
})
let [err] = await once(stream, 'error')
t.equal(err.message, 'kaboom')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
})
test('emit error if worker stream emit error', async function (t) {
const stream = new ThreadStream({
filename: join(__dirname, 'error.js'),
sync: true
})
stream.on('ready', () => {
stream.write('hello world\n')
})
let [err] = await once(stream, 'error')
t.equal(err.message, 'kaboom')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
})
test('emit error if thread have uncaughtException', async function (t) {
const stream = new ThreadStream({
filename: join(__dirname, 'uncaughtException.js'),
sync: true
})
stream.on('ready', () => {
stream.write('hello world\n')
})
let [err] = await once(stream, 'error')
t.equal(err.message, 'kaboom')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
stream.write('noop');
[err] = await once(stream, 'error')
t.equal(err.message, 'the worker has exited')
})
test('close the work if out of scope on gc', { skip: !global.WeakRef }, async function (t) {
const dest = file()
const child = fork(join(__dirname, 'close-on-gc.js'), [dest], {
execArgv: ['--expose-gc']
})
const [code] = await once(child, 'exit')
t.equal(code, 0)
const data = await readFile(dest, 'utf8')
t.equal(data, 'hello world\n')
})

View File

@@ -0,0 +1,22 @@
import { expectType, expectAssignable } from "tsd";
import slowRedact from ".";
import type { redactFn, redactFnNoSerialize } from ".";
// should return redactFn
expectType<redactFn>(slowRedact());
expectType<redactFn>(slowRedact({ paths: [] }));
expectType<redactFn>(slowRedact({ paths: ["some.path"] }));
expectType<redactFn>(slowRedact({ paths: [], censor: "[REDACTED]" }));
expectType<redactFn>(slowRedact({ paths: [], strict: true }));
expectType<redactFn>(slowRedact({ paths: [], serialize: JSON.stringify }));
expectType<redactFn>(slowRedact({ paths: [], serialize: true }));
expectType<redactFnNoSerialize>(slowRedact({ paths: [], serialize: false }));
expectType<redactFn>(slowRedact({ paths: [], remove: true }));
// should return string
expectType<string>(slowRedact()(""));
// should return string or T
expectAssignable<string | { someField: string }>(
slowRedact()({ someField: "someValue" })
);

View File

@@ -0,0 +1 @@
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/api/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EACL,SAAS,EACT,cAAc,EACd,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,IAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,IAAM,oBAAoB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEtD;;GAEG;AACH;IAGE,+FAA+F;IAC/F;IAAuB,CAAC;IAExB,oDAAoD;IACtC,sBAAW,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;SACnC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,4CAAuB,GAA9B,UAA+B,cAA8B;QAC3D,OAAO,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACI,2BAAM,GAAb;QACE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACI,yBAAI,GAAX,UACE,OAAgB,EAChB,EAAK,EACL,OAA8B;;QAC9B,cAAU;aAAV,UAAU,EAAV,qBAAU,EAAV,IAAU;YAAV,6BAAU;;QAEV,OAAO,CAAA,KAAA,IAAI,CAAC,kBAAkB,EAAE,CAAA,CAAC,IAAI,0BAAC,OAAO,EAAE,EAAE,EAAE,OAAO,UAAK,IAAI,WAAE;IACvE,CAAC;IAED;;;;;OAKG;IACI,yBAAI,GAAX,UAAe,OAAgB,EAAE,MAAS;QACxC,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,uCAAkB,GAA1B;QACE,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC;IAED,oDAAoD;IAC7C,4BAAO,GAAd;QACE,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,CAAC;QACpC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IACH,iBAAC;AAAD,CAAC,AAnED,IAmEC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { NoopContextManager } from '../context/NoopContextManager';\nimport { Context, ContextManager } from '../context/types';\nimport {\n getGlobal,\n registerGlobal,\n unregisterGlobal,\n} from '../internal/global-utils';\nimport { DiagAPI } from './diag';\n\nconst API_NAME = 'context';\nconst NOOP_CONTEXT_MANAGER = new NoopContextManager();\n\n/**\n * Singleton object which represents the entry point to the OpenTelemetry Context API\n */\nexport class ContextAPI {\n private static _instance?: ContextAPI;\n\n /** Empty private constructor prevents end users from constructing a new instance of the API */\n private constructor() {}\n\n /** Get the singleton instance of the Context API */\n public static getInstance(): ContextAPI {\n if (!this._instance) {\n this._instance = new ContextAPI();\n }\n\n return this._instance;\n }\n\n /**\n * Set the current context manager.\n *\n * @returns true if the context manager was successfully registered, else false\n */\n public setGlobalContextManager(contextManager: ContextManager): boolean {\n return registerGlobal(API_NAME, contextManager, DiagAPI.instance());\n }\n\n /**\n * Get the currently active context\n */\n public active(): Context {\n return this._getContextManager().active();\n }\n\n /**\n * Execute a function with an active context\n *\n * @param context context to be active during function execution\n * @param fn function to execute in a context\n * @param thisArg optional receiver to be used for calling fn\n * @param args optional arguments forwarded to fn\n */\n public with<A extends unknown[], F extends (...args: A) => ReturnType<F>>(\n context: Context,\n fn: F,\n thisArg?: ThisParameterType<F>,\n ...args: A\n ): ReturnType<F> {\n return this._getContextManager().with(context, fn, thisArg, ...args);\n }\n\n /**\n * Bind a context to a target function or event emitter\n *\n * @param context context to bind to the event emitter or function. Defaults to the currently active context\n * @param target function or event emitter to bind\n */\n public bind<T>(context: Context, target: T): T {\n return this._getContextManager().bind(context, target);\n }\n\n private _getContextManager(): ContextManager {\n return getGlobal(API_NAME) || NOOP_CONTEXT_MANAGER;\n }\n\n /** Disable and remove the global context manager */\n public disable() {\n this._getContextManager().disable();\n unregisterGlobal(API_NAME, DiagAPI.instance());\n }\n}\n"]}

View File

@@ -0,0 +1,45 @@
import { createBox } from '../../projection/geometry/models.mjs';
import { DOMVisualElement } from '../dom/DOMVisualElement.mjs';
import { camelToDash } from '../dom/utils/camel-to-dash.mjs';
import { getDefaultValueType } from '../dom/value-types/defaults.mjs';
import { transformProps } from '../html/utils/keys-transform.mjs';
import { buildSVGAttrs } from './utils/build-attrs.mjs';
import { camelCaseAttributes } from './utils/camel-case-attrs.mjs';
import { isSVGTag } from './utils/is-svg-tag.mjs';
import { renderSVG } from './utils/render.mjs';
import { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';
class SVGVisualElement extends DOMVisualElement {
constructor() {
super(...arguments);
this.type = "svg";
this.isSVGTag = false;
this.measureInstanceViewportBox = createBox;
}
getBaseTargetFromProps(props, key) {
return props[key];
}
readValueFromInstance(instance, key) {
if (transformProps.has(key)) {
const defaultType = getDefaultValueType(key);
return defaultType ? defaultType.default || 0 : 0;
}
key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
return instance.getAttribute(key);
}
scrapeMotionValuesFromProps(props, prevProps, visualElement) {
return scrapeMotionValuesFromProps(props, prevProps, visualElement);
}
build(renderState, latestValues, props) {
buildSVGAttrs(renderState, latestValues, this.isSVGTag, props.transformTemplate);
}
renderInstance(instance, renderState, styleProp, projection) {
renderSVG(instance, renderState, styleProp, projection);
}
mount(instance) {
this.isSVGTag = isSVGTag(instance.tagName);
super.mount(instance);
}
}
export { SVGVisualElement };

View File

@@ -0,0 +1,18 @@
import type { Field } from '../../fields/config/types.js';
import type { ClientFieldWithOptionalType, ServerComponentProps } from './Field.js';
export type GenericErrorProps = {
readonly alignCaret?: 'center' | 'left' | 'right';
readonly message?: string;
readonly path?: string;
readonly showError?: boolean;
};
export type FieldErrorClientProps<TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType> = {
field: TFieldClient;
} & GenericErrorProps;
export type FieldErrorServerProps<TFieldServer extends Field, TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType> = {
clientField: TFieldClient;
readonly field: TFieldServer;
} & GenericErrorProps & ServerComponentProps;
export type FieldErrorClientComponent<TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType> = React.ComponentType<FieldErrorClientProps<TFieldClient>>;
export type FieldErrorServerComponent<TFieldServer extends Field = Field, TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType> = React.ComponentType<FieldErrorServerProps<TFieldServer, TFieldClient>>;
//# sourceMappingURL=Error.d.ts.map

View File

@@ -0,0 +1,4 @@
import * as z from "./external.cjs";
export { z };
export * from "./external.cjs";
export default z;

View File

@@ -0,0 +1,2 @@
const e=require(`../../utils/throw-if-empty.cjs`),t=(t,n,r)=>()=>(e.throwIfEmpty(t,`Collection cannot be empty`),{path:`/collections/${t}`,params:r??{},body:JSON.stringify(n),method:`PATCH`}),n=(e,t)=>()=>({path:`/collections`,params:t??{},body:JSON.stringify(e),method:`PATCH`});exports.updateCollection=t,exports.updateCollectionsBatch=n;
//# sourceMappingURL=collections.cjs.map

View File

@@ -0,0 +1,49 @@
<p align="center">
<a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank">
<img src="https://sentry-brand.storage.googleapis.com/sentry-wordmark-dark-280x84.png" alt="Sentry" width="280" height="84">
</a>
</p>
# Sentry Session Replay with Canvas
## Pre-requisites
Replay with canvas requires Node 14+, and browsers newer than IE11.
## Installation
Replay and ReplayCanvas can be imported from `@sentry/browser`, or a respective SDK package like `@sentry/react` or
`@sentry/vue`. You don't need to install anything in order to use Session Replay. The minimum version that includes
Replay is 7.27.0.
For details on using Replay when using Sentry via the CDN bundles, see [CDN bundle](#loading-replay-as-a-cdn-bundle).
## Setup
To set up the canvas integration, add the following to your Sentry integrations:
```javascript
Sentry.replayCanvasIntegration(),
```
### Full Example
```javascript
import * as Sentry from '@sentry/browser';
// or e.g. import * as Sentry from '@sentry/react';
Sentry.init({
dsn: '__DSN__',
// This sets the sample rate to be 10%. You may want this to be 100% while
// in development and sample at a lower rate in production
replaysSessionSampleRate: 0.1,
// If the entire session is not sampled, use the below sample rate to sample
// sessions when an error occurs.
replaysOnErrorSampleRate: 1.0,
integrations: [Sentry.replayIntegration(), Sentry.replayCanvasIntegration()],
// ...
});
```

View File

@@ -0,0 +1 @@
{"version":3,"file":"corner-left-up.js","sources":["../../../src/icons/corner-left-up.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name CornerLeftUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cG9seWxpbmUgcG9pbnRzPSIxNCA5IDkgNCA0IDkiIC8+CiAgPHBhdGggZD0iTTIwIDIwaC03YTQgNCAwIDAgMS00LTRWNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/corner-left-up\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CornerLeftUp = createLucideIcon('CornerLeftUp', [\n ['polyline', { points: '14 9 9 4 4 9', key: 'm9oyvo' }],\n ['path', { d: 'M20 20h-7a4 4 0 0 1-4-4V4', key: '1blwi3' }],\n]);\n\nexport default CornerLeftUp;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,iBAAiB,cAAgB,CAAA,CAAA,CAAA;AAAA,CAAA,CACpD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAE,QAAQ,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACtD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC5D,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1,270 @@
import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_URL_FULL, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes.js';
// Curious about `thismessage:/`? See: https://www.rfc-editor.org/rfc/rfc2557.html
// > When the methods above do not yield an absolute URI, a base URL
// > of "thismessage:/" MUST be employed. This base URL has been
// > defined for the sole purpose of resolving relative references
// > within a multipart/related structure when no other base URI is
// > specified.
//
// We need to provide a base URL to `parseStringToURLObject` because the fetch API gives us a
// relative URL sometimes.
//
// This is the only case where we need to provide a base URL to `parseStringToURLObject`
// because the relative URL is not valid on its own.
const DEFAULT_BASE_URL = 'thismessage:/';
/**
* Checks if the URL object is relative
*
* @param url - The URL object to check
* @returns True if the URL object is relative, false otherwise
*/
function isURLObjectRelative(url) {
return 'isRelative' in url;
}
/**
* Parses string to a URL object
*
* @param url - The URL to parse
* @returns The parsed URL object or undefined if the URL is invalid
*/
function parseStringToURLObject(url, urlBase) {
const isRelative = url.indexOf('://') <= 0 && url.indexOf('//') !== 0;
const base = urlBase ?? (isRelative ? DEFAULT_BASE_URL : undefined);
try {
// Use `canParse` to short-circuit the URL constructor if it's not a valid URL
// This is faster than trying to construct the URL and catching the error
// Node 20+, Chrome 120+, Firefox 115+, Safari 17+
if ('canParse' in URL && !(URL ).canParse(url, base)) {
return undefined;
}
const fullUrlObject = new URL(url, base);
if (isRelative) {
// Because we used a fake base URL, we need to return a relative URL object.
// We cannot return anything about the origin, host, etc. because it will refer to the fake base URL.
return {
isRelative,
pathname: fullUrlObject.pathname,
search: fullUrlObject.search,
hash: fullUrlObject.hash,
};
}
return fullUrlObject;
} catch {
// empty body
}
return undefined;
}
/**
* Takes a URL object and returns a sanitized string which is safe to use as span name
* see: https://develop.sentry.dev/sdk/data-handling/#structuring-data
*/
function getSanitizedUrlStringFromUrlObject(url) {
if (isURLObjectRelative(url)) {
return url.pathname;
}
const newUrl = new URL(url);
newUrl.search = '';
newUrl.hash = '';
if (['80', '443'].includes(newUrl.port)) {
newUrl.port = '';
}
if (newUrl.password) {
newUrl.password = '%filtered%';
}
if (newUrl.username) {
newUrl.username = '%filtered%';
}
return newUrl.toString();
}
function getHttpSpanNameFromUrlObject(
urlObject,
kind,
request,
routeName,
) {
const method = request?.method?.toUpperCase() ?? 'GET';
const route = routeName
? routeName
: urlObject
? kind === 'client'
? getSanitizedUrlStringFromUrlObject(urlObject)
: urlObject.pathname
: '/';
return `${method} ${route}`;
}
/**
* Takes a parsed URL object and returns a set of attributes for the span
* that represents the HTTP request for that url. This is used for both server
* and client http spans.
*
* Follows https://opentelemetry.io/docs/specs/semconv/http/.
*
* @param urlObject - see {@link parseStringToURLObject}
* @param kind - The type of HTTP operation (server or client)
* @param spanOrigin - The origin of the span
* @param request - The request object, see {@link PartialRequest}
* @param routeName - The name of the route, must be low cardinality
* @returns The span name and attributes for the HTTP operation
*/
function getHttpSpanDetailsFromUrlObject(
urlObject,
kind,
spanOrigin,
request,
routeName,
) {
const attributes = {
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: spanOrigin,
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',
};
if (routeName) {
// This is based on https://opentelemetry.io/docs/specs/semconv/http/http-spans/#name
attributes[kind === 'server' ? 'http.route' : 'url.template'] = routeName;
attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = 'route';
}
if (request?.method) {
attributes[SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD] = request.method.toUpperCase();
}
if (urlObject) {
if (urlObject.search) {
attributes['url.query'] = urlObject.search;
}
if (urlObject.hash) {
attributes['url.fragment'] = urlObject.hash;
}
if (urlObject.pathname) {
attributes['url.path'] = urlObject.pathname;
if (urlObject.pathname === '/') {
attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = 'route';
}
}
if (!isURLObjectRelative(urlObject)) {
attributes[SEMANTIC_ATTRIBUTE_URL_FULL] = urlObject.href;
if (urlObject.port) {
attributes['url.port'] = urlObject.port;
}
if (urlObject.protocol) {
attributes['url.scheme'] = urlObject.protocol;
}
if (urlObject.hostname) {
attributes[kind === 'server' ? 'server.address' : 'url.domain'] = urlObject.hostname;
}
}
}
return [getHttpSpanNameFromUrlObject(urlObject, kind, request, routeName), attributes];
}
/**
* Parses string form of URL into an object
* // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B
* // intentionally using regex and not <a/> href parsing trick because React Native and other
* // environments where DOM might not be available
* @returns parsed URL object
*/
function parseUrl(url) {
if (!url) {
return {};
}
const match = url.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
if (!match) {
return {};
}
// coerce to undefined values to empty string so we don't get 'undefined'
const query = match[6] || '';
const fragment = match[8] || '';
return {
host: match[4],
path: match[5],
protocol: match[2],
search: query,
hash: fragment,
relative: match[5] + query + fragment, // everything minus origin
};
}
/**
* Strip the query string and fragment off of a given URL or path (if present)
*
* @param urlPath Full URL or path, including possible query string and/or fragment
* @returns URL or path without query string or fragment
*/
function stripUrlQueryAndFragment(urlPath) {
return (urlPath.split(/[?#]/, 1) )[0];
}
/**
* Takes a URL object and returns a sanitized string which is safe to use as span name
* see: https://develop.sentry.dev/sdk/data-handling/#structuring-data
*/
function getSanitizedUrlString(url) {
const { protocol, host, path } = url;
const filteredHost =
host
// Always filter out authority
?.replace(/^.*@/, '[filtered]:[filtered]@')
// Don't show standard :80 (http) and :443 (https) ports to reduce the noise
// TODO: Use new URL global if it exists
.replace(/(:80)$/, '')
.replace(/(:443)$/, '') || '';
return `${protocol ? `${protocol}://` : ''}${filteredHost}${path}`;
}
/**
* Strips the content from a data URL, returning a placeholder with the MIME type.
*
* Data URLs can be very long (e.g. base64 encoded scripts for Web Workers),
* with little valuable information, often leading to envelopes getting dropped due
* to size limit violations. Therefore, we strip data URLs and replace them with a
* placeholder.
*
* @param url - The URL to process
* @param includeDataPrefix - If true, includes the first 10 characters of the data stream
* for debugging (e.g., to identify magic bytes like WASM's AGFzbQ).
* Defaults to true.
* @returns For data URLs, returns a short format like `data:text/javascript;base64,SGVsbG8gV2... [truncated]`.
* For non-data URLs, returns the original URL unchanged.
*/
function stripDataUrlContent(url, includeDataPrefix = true) {
if (url.startsWith('data:')) {
// Match the MIME type (everything after 'data:' until the first ';' or ',')
const match = url.match(/^data:([^;,]+)/);
const mimeType = match ? match[1] : 'text/plain';
const isBase64 = url.includes(';base64,');
// Find where the actual data starts (after the comma)
const dataStart = url.indexOf(',');
let dataPrefix = '';
if (includeDataPrefix && dataStart !== -1) {
const data = url.slice(dataStart + 1);
// Include first 10 chars of data to help identify content (e.g., magic bytes)
dataPrefix = data.length > 10 ? `${data.slice(0, 10)}... [truncated]` : data;
}
return `data:${mimeType}${isBase64 ? ',base64' : ''}${dataPrefix ? `,${dataPrefix}` : ''}`;
}
return url;
}
export { getHttpSpanDetailsFromUrlObject, getSanitizedUrlString, getSanitizedUrlStringFromUrlObject, isURLObjectRelative, parseStringToURLObject, parseUrl, stripDataUrlContent, stripUrlQueryAndFragment };
//# sourceMappingURL=url.js.map

View File

@@ -0,0 +1,2 @@
var convert = require('./convert');
module.exports = convert(require('../date'));

View File

@@ -0,0 +1,145 @@
"use strict";
exports.match = void 0;
var _index = require("../../_lib/buildMatchFn.cjs");
var _index2 = require("../../_lib/buildMatchPatternFn.cjs");
const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^(ق|ب)/i,
abbreviated: /^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i,
wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i,
};
const parseEraPatterns = {
any: [/^قبل/i, /^بعد/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^ر[1234]/i,
wide: /^الربع [1234]/i,
};
const parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i],
};
const matchMonthPatterns = {
narrow: /^[يفمأمسند]/i,
abbreviated: /^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i,
wide: /^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i,
};
const parseMonthPatterns = {
narrow: [
/^ي/i,
/^ف/i,
/^م/i,
/^أ/i,
/^م/i,
/^ي/i,
/^ي/i,
/^أ/i,
/^س/i,
/^أ/i,
/^ن/i,
/^د/i,
],
any: [
/^ين/i,
/^ف/i,
/^مار/i,
/^أب/i,
/^ماي/i,
/^يون/i,
/^يول/i,
/^أغ/i,
/^س/i,
/^أك/i,
/^ن/i,
/^د/i,
],
};
const matchDayPatterns = {
narrow: /^[حنثرخجس]/i,
short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i,
abbreviated: /^(أحد|اثن|ثلا|أرب|خمي|جمعة|سبت)/i,
wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i,
};
const parseDayPatterns = {
narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i],
wide: [
/^الأحد/i,
/^الاثنين/i,
/^الثلاثاء/i,
/^الأربعاء/i,
/^الخميس/i,
/^الجمعة/i,
/^السبت/i,
],
any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i],
};
const matchDayPeriodPatterns = {
narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,
};
const parseDayPeriodPatterns = {
any: {
am: /^a/i,
pm: /^p/i,
midnight: /^mi/i,
noon: /^no/i,
morning: /morning/i,
afternoon: /afternoon/i,
evening: /evening/i,
night: /night/i,
},
};
const match = (exports.match = {
ordinalNumber: (0, _index2.buildMatchPatternFn)({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: (value) => parseInt(value, 10),
}),
era: (0, _index.buildMatchFn)({
matchPatterns: matchEraPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseEraPatterns,
defaultParseWidth: "any",
}),
quarter: (0, _index.buildMatchFn)({
matchPatterns: matchQuarterPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseQuarterPatterns,
defaultParseWidth: "any",
valueCallback: (index) => index + 1,
}),
month: (0, _index.buildMatchFn)({
matchPatterns: matchMonthPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseMonthPatterns,
defaultParseWidth: "any",
}),
day: (0, _index.buildMatchFn)({
matchPatterns: matchDayPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPatterns,
defaultParseWidth: "any",
}),
dayPeriod: (0, _index.buildMatchFn)({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: "any",
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: "any",
}),
});

View File

@@ -0,0 +1,13 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import type { EditorState, LexicalEditor } from 'lexical';
export declare function OnChangePlugin({ ignoreHistoryMergeTagChange, ignoreSelectionChange, onChange, }: {
ignoreHistoryMergeTagChange?: boolean;
ignoreSelectionChange?: boolean;
onChange: (editorState: EditorState, editor: LexicalEditor, tags: Set<string>) => void;
}): null;

View File

@@ -0,0 +1,9 @@
import * as React from 'react';
import { ReactNode } from 'react';
interface NonceProviderProps {
nonce: string;
children: ReactNode;
cacheKey: string;
}
declare const _default: ({ nonce, children, cacheKey }: NonceProviderProps) => React.JSX.Element;
export default _default;

View File

@@ -0,0 +1,48 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
*/
"use strict";
/** @typedef {import("./ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
/** @typedef {import("./ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
class MapObjectSerializer {
/**
* @template K, V
* @param {Map<K, V>} obj map
* @param {ObjectSerializerContext} context context
*/
serialize(obj, context) {
context.write(obj.size);
for (const key of obj.keys()) {
context.write(key);
}
for (const value of obj.values()) {
context.write(value);
}
}
/**
* @template K, V
* @param {ObjectDeserializerContext} context context
* @returns {Map<K, V>} map
*/
deserialize(context) {
/** @type {number} */
const size = context.read();
/** @type {Map<K, V>} */
const map = new Map();
/** @type {K[]} */
const keys = [];
for (let i = 0; i < size; i++) {
keys.push(context.read());
}
for (let i = 0; i < size; i++) {
map.set(keys[i], context.read());
}
return map;
}
}
module.exports = MapObjectSerializer;

View File

@@ -0,0 +1,5 @@
import assertClassBrand from "./assertClassBrand.js";
function _classStaticPrivateMethodGet(s, a, t) {
return assertClassBrand(a, s), t;
}
export { _classStaticPrivateMethodGet as default };

View File

@@ -0,0 +1,130 @@
import { buildMatchFn } from "../../_lib/buildMatchFn.js";
import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js";
const matchOrdinalNumberPattern = /^(第\s*)?\d+(日|时|分|秒)?/i;
const parseOrdinalNumberPattern = /\d+/i;
const matchEraPatterns = {
narrow: /^(前)/i,
abbreviated: /^(前)/i,
wide: /^(公元前|公元)/i,
};
const parseEraPatterns = {
any: [/^(前)/i, /^(公元)/i],
};
const matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^第[一二三四]刻/i,
wide: /^第[一二三四]刻钟/i,
};
const parseQuarterPatterns = {
any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i],
};
const matchMonthPatterns = {
narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,
abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,
wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i,
};
const parseMonthPatterns = {
narrow: [
/^一/i,
/^二/i,
/^三/i,
/^四/i,
/^五/i,
/^六/i,
/^七/i,
/^八/i,
/^九/i,
/^十(?!(一|二))/i,
/^十一/i,
/^十二/i,
],
any: [
/^一|1/i,
/^二|2/i,
/^三|3/i,
/^四|4/i,
/^五|5/i,
/^六|6/i,
/^七|7/i,
/^八|8/i,
/^九|9/i,
/^十(?!(一|二))|10/i,
/^十一|11/i,
/^十二|12/i,
],
};
const matchDayPatterns = {
narrow: /^[一二三四五六日]/i,
short: /^[一二三四五六日]/i,
abbreviated: /^周[一二三四五六日]/i,
wide: /^星期[一二三四五六日]/i,
};
const parseDayPatterns = {
any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i],
};
const matchDayPeriodPatterns = {
any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i,
};
const parseDayPeriodPatterns = {
any: {
am: /^上午?/i,
pm: /^下午?/i,
midnight: /^午夜/i,
noon: /^[中正]午/i,
morning: /^早上/i,
afternoon: /^下午/i,
evening: /^晚上?/i,
night: /^凌晨/i,
},
};
export const match = {
ordinalNumber: buildMatchPatternFn({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: (value) => parseInt(value, 10),
}),
era: buildMatchFn({
matchPatterns: matchEraPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseEraPatterns,
defaultParseWidth: "any",
}),
quarter: buildMatchFn({
matchPatterns: matchQuarterPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseQuarterPatterns,
defaultParseWidth: "any",
valueCallback: (index) => index + 1,
}),
month: buildMatchFn({
matchPatterns: matchMonthPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseMonthPatterns,
defaultParseWidth: "any",
}),
day: buildMatchFn({
matchPatterns: matchDayPatterns,
defaultMatchWidth: "wide",
parsePatterns: parseDayPatterns,
defaultParseWidth: "any",
}),
dayPeriod: buildMatchFn({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: "any",
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: "any",
}),
};

View File

@@ -0,0 +1,9 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
export { default } from './square-sigma.js';
//# sourceMappingURL=sigma-square.js.map

View File

@@ -0,0 +1,41 @@
/** Options for the EventFilters integration */
export interface EventFiltersOptions {
allowUrls: Array<string | RegExp>;
denyUrls: Array<string | RegExp>;
ignoreErrors: Array<string | RegExp>;
ignoreTransactions: Array<string | RegExp>;
ignoreInternal: boolean;
disableErrorDefaults: boolean;
}
/**
* An integration that filters out events (errors and transactions) based on:
*
* - (Errors) A curated list of known low-value or irrelevant errors (see {@link DEFAULT_IGNORE_ERRORS})
* - (Errors) A list of error messages or urls/filenames passed in via
* - Top level Sentry.init options (`ignoreErrors`, `denyUrls`, `allowUrls`)
* - The same options passed to the integration directly via @param options
* - (Transactions/Spans) A list of root span (transaction) names passed in via
* - Top level Sentry.init option (`ignoreTransactions`)
* - The same option passed to the integration directly via @param options
*
* Events filtered by this integration will not be sent to Sentry.
*/
export declare const eventFiltersIntegration: (options?: Partial<EventFiltersOptions> | undefined) => import("../types-hoist/integration").Integration;
/**
* An integration that filters out events (errors and transactions) based on:
*
* - (Errors) A curated list of known low-value or irrelevant errors (see {@link DEFAULT_IGNORE_ERRORS})
* - (Errors) A list of error messages or urls/filenames passed in via
* - Top level Sentry.init options (`ignoreErrors`, `denyUrls`, `allowUrls`)
* - The same options passed to the integration directly via @param options
* - (Transactions/Spans) A list of root span (transaction) names passed in via
* - Top level Sentry.init option (`ignoreTransactions`)
* - The same option passed to the integration directly via @param options
*
* Events filtered by this integration will not be sent to Sentry.
*
* @deprecated this integration was renamed and will be removed in a future major version.
* Use `eventFiltersIntegration` instead.
*/
export declare const inboundFiltersIntegration: (options?: Partial<EventFiltersOptions> | undefined) => import("../types-hoist/integration").Integration;
//# sourceMappingURL=eventFilters.d.ts.map

View File

@@ -0,0 +1,37 @@
"use strict";
exports.isSameMonth = isSameMonth;
var _index = require("./toDate.js");
/**
* @name isSameMonth
* @category Month Helpers
* @summary Are the given dates in the same month (and year)?
*
* @description
* Are the given dates in the same month (and year)?
*
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
*
* @param dateLeft - The first date to check
* @param dateRight - The second date to check
*
* @returns The dates are in the same month (and year)
*
* @example
* // Are 2 September 2014 and 25 September 2014 in the same month?
* const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))
* //=> true
*
* @example
* // Are 2 September 2014 and 25 September 2015 in the same month?
* const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))
* //=> false
*/
function isSameMonth(dateLeft, dateRight) {
const _dateLeft = (0, _index.toDate)(dateLeft);
const _dateRight = (0, _index.toDate)(dateRight);
return (
_dateLeft.getFullYear() === _dateRight.getFullYear() &&
_dateLeft.getMonth() === _dateRight.getMonth()
);
}

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ResetPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,sBAAsB,mBAAmB,CAAA;AAEtD,wBAAgB,aAAa,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,oBAAoB,qBAmE7E"}

View File

@@ -0,0 +1,7 @@
import { Session } from '../types';
/** If the session should be refreshed or not. */
export declare function shouldRefreshSession(session: Session, { sessionIdleExpire, maxReplayDuration }: {
sessionIdleExpire: number;
maxReplayDuration: number;
}): boolean;
//# sourceMappingURL=shouldRefreshSession.d.ts.map

View File

@@ -0,0 +1,118 @@
import { NoopCache } from "../cache/core/index.js";
import { entityKind } from "../entity.js";
import { NoopLogger } from "../logger.js";
import { fillPlaceholders, sql } from "../sql/sql.js";
import { SQLiteTransaction } from "../sqlite-core/index.js";
import {
SQLitePreparedQuery as PreparedQueryBase,
SQLiteSession
} from "../sqlite-core/session.js";
import { mapResultRow } from "../utils.js";
class BetterSQLiteSession extends SQLiteSession {
constructor(client, dialect, schema, options = {}) {
super(dialect);
this.client = client;
this.schema = schema;
this.logger = options.logger ?? new NoopLogger();
this.cache = options.cache ?? new NoopCache();
}
static [entityKind] = "BetterSQLiteSession";
logger;
cache;
prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
const stmt = this.client.prepare(query.sql);
return new PreparedQuery(
stmt,
query,
this.logger,
this.cache,
queryMetadata,
cacheConfig,
fields,
executeMethod,
isResponseInArrayMode,
customResultMapper
);
}
transaction(transaction, config = {}) {
const tx = new BetterSQLiteTransaction("sync", this.dialect, this, this.schema);
const nativeTx = this.client.transaction(transaction);
return nativeTx[config.behavior ?? "deferred"](tx);
}
}
class BetterSQLiteTransaction extends SQLiteTransaction {
static [entityKind] = "BetterSQLiteTransaction";
transaction(transaction) {
const savepointName = `sp${this.nestedIndex}`;
const tx = new BetterSQLiteTransaction("sync", this.dialect, this.session, this.schema, this.nestedIndex + 1);
this.session.run(sql.raw(`savepoint ${savepointName}`));
try {
const result = transaction(tx);
this.session.run(sql.raw(`release savepoint ${savepointName}`));
return result;
} catch (err) {
this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));
throw err;
}
}
}
class PreparedQuery extends PreparedQueryBase {
constructor(stmt, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
super("sync", executeMethod, query, cache, queryMetadata, cacheConfig);
this.stmt = stmt;
this.logger = logger;
this.fields = fields;
this._isResponseInArrayMode = _isResponseInArrayMode;
this.customResultMapper = customResultMapper;
}
static [entityKind] = "BetterSQLitePreparedQuery";
run(placeholderValues) {
const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
this.logger.logQuery(this.query.sql, params);
return this.stmt.run(...params);
}
all(placeholderValues) {
const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
if (!fields && !customResultMapper) {
const params = fillPlaceholders(query.params, placeholderValues ?? {});
logger.logQuery(query.sql, params);
return stmt.all(...params);
}
const rows = this.values(placeholderValues);
if (customResultMapper) {
return customResultMapper(rows);
}
return rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
}
get(placeholderValues) {
const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
this.logger.logQuery(this.query.sql, params);
const { fields, stmt, joinsNotNullableMap, customResultMapper } = this;
if (!fields && !customResultMapper) {
return stmt.get(...params);
}
const row = stmt.raw().get(...params);
if (!row) {
return void 0;
}
if (customResultMapper) {
return customResultMapper([row]);
}
return mapResultRow(fields, row, joinsNotNullableMap);
}
values(placeholderValues) {
const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
this.logger.logQuery(this.query.sql, params);
return this.stmt.raw().all(...params);
}
/** @internal */
isResponseInArrayMode() {
return this._isResponseInArrayMode;
}
}
export {
BetterSQLiteSession,
BetterSQLiteTransaction,
PreparedQuery
};
//# sourceMappingURL=session.js.map

View File

@@ -0,0 +1,18 @@
/*
* Copyright The OpenTelemetry Authors
*
* Licensed 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
*
* https://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 CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// this is autogenerated file, see scripts/version-update.js
export const VERSION = '1.39.0';
//# sourceMappingURL=version.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"validateSvg.d.ts","sourceRoot":"","sources":["../../src/uploads/validateSvg.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAqDnD"}

View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const id_1 = require("./id");
const ref_1 = require("./ref");
const core = [
"$schema",
"$id",
"$defs",
"$vocabulary",
{ keyword: "$comment" },
"definitions",
id_1.default,
ref_1.default,
];
exports.default = core;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1,336 @@
'use strict'
/** @type {(value: string) => boolean} */
const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu)
/** @type {(value: string) => boolean} */
const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u)
/**
* @param {Array<string>} input
* @returns {string}
*/
function stringArrayToHexStripped (input) {
let acc = ''
let code = 0
let i = 0
for (i = 0; i < input.length; i++) {
code = input[i].charCodeAt(0)
if (code === 48) {
continue
}
if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {
return ''
}
acc += input[i]
break
}
for (i += 1; i < input.length; i++) {
code = input[i].charCodeAt(0)
if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {
return ''
}
acc += input[i]
}
return acc
}
/**
* @typedef {Object} GetIPV6Result
* @property {boolean} error - Indicates if there was an error parsing the IPv6 address.
* @property {string} address - The parsed IPv6 address.
* @property {string} [zone] - The zone identifier, if present.
*/
/**
* @param {string} value
* @returns {boolean}
*/
const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u)
/**
* @param {Array<string>} buffer
* @returns {boolean}
*/
function consumeIsZone (buffer) {
buffer.length = 0
return true
}
/**
* @param {Array<string>} buffer
* @param {Array<string>} address
* @param {GetIPV6Result} output
* @returns {boolean}
*/
function consumeHextets (buffer, address, output) {
if (buffer.length) {
const hex = stringArrayToHexStripped(buffer)
if (hex !== '') {
address.push(hex)
} else {
output.error = true
return false
}
buffer.length = 0
}
return true
}
/**
* @param {string} input
* @returns {GetIPV6Result}
*/
function getIPV6 (input) {
let tokenCount = 0
const output = { error: false, address: '', zone: '' }
/** @type {Array<string>} */
const address = []
/** @type {Array<string>} */
const buffer = []
let endipv6Encountered = false
let endIpv6 = false
let consume = consumeHextets
for (let i = 0; i < input.length; i++) {
const cursor = input[i]
if (cursor === '[' || cursor === ']') { continue }
if (cursor === ':') {
if (endipv6Encountered === true) {
endIpv6 = true
}
if (!consume(buffer, address, output)) { break }
if (++tokenCount > 7) {
// not valid
output.error = true
break
}
if (i > 0 && input[i - 1] === ':') {
endipv6Encountered = true
}
address.push(':')
continue
} else if (cursor === '%') {
if (!consume(buffer, address, output)) { break }
// switch to zone detection
consume = consumeIsZone
} else {
buffer.push(cursor)
continue
}
}
if (buffer.length) {
if (consume === consumeIsZone) {
output.zone = buffer.join('')
} else if (endIpv6) {
address.push(buffer.join(''))
} else {
address.push(stringArrayToHexStripped(buffer))
}
}
output.address = address.join('')
return output
}
/**
* @typedef {Object} NormalizeIPv6Result
* @property {string} host - The normalized host.
* @property {string} [escapedHost] - The escaped host.
* @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
*/
/**
* @param {string} host
* @returns {NormalizeIPv6Result}
*/
function normalizeIPv6 (host) {
if (findToken(host, ':') < 2) { return { host, isIPV6: false } }
const ipv6 = getIPV6(host)
if (!ipv6.error) {
let newHost = ipv6.address
let escapedHost = ipv6.address
if (ipv6.zone) {
newHost += '%' + ipv6.zone
escapedHost += '%25' + ipv6.zone
}
return { host: newHost, isIPV6: true, escapedHost }
} else {
return { host, isIPV6: false }
}
}
/**
* @param {string} str
* @param {string} token
* @returns {number}
*/
function findToken (str, token) {
let ind = 0
for (let i = 0; i < str.length; i++) {
if (str[i] === token) ind++
}
return ind
}
/**
* @param {string} path
* @returns {string}
*
* @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4
*/
function removeDotSegments (path) {
let input = path
const output = []
let nextSlash = -1
let len = 0
// eslint-disable-next-line no-cond-assign
while (len = input.length) {
if (len === 1) {
if (input === '.') {
break
} else if (input === '/') {
output.push('/')
break
} else {
output.push(input)
break
}
} else if (len === 2) {
if (input[0] === '.') {
if (input[1] === '.') {
break
} else if (input[1] === '/') {
input = input.slice(2)
continue
}
} else if (input[0] === '/') {
if (input[1] === '.' || input[1] === '/') {
output.push('/')
break
}
}
} else if (len === 3) {
if (input === '/..') {
if (output.length !== 0) {
output.pop()
}
output.push('/')
break
}
}
if (input[0] === '.') {
if (input[1] === '.') {
if (input[2] === '/') {
input = input.slice(3)
continue
}
} else if (input[1] === '/') {
input = input.slice(2)
continue
}
} else if (input[0] === '/') {
if (input[1] === '.') {
if (input[2] === '/') {
input = input.slice(2)
continue
} else if (input[2] === '.') {
if (input[3] === '/') {
input = input.slice(3)
if (output.length !== 0) {
output.pop()
}
continue
}
}
}
}
// Rule 2E: Move normal path segment to output
if ((nextSlash = input.indexOf('/', 1)) === -1) {
output.push(input)
break
} else {
output.push(input.slice(0, nextSlash))
input = input.slice(nextSlash)
}
}
return output.join('')
}
/**
* @param {import('../types/index').URIComponent} component
* @param {boolean} esc
* @returns {import('../types/index').URIComponent}
*/
function normalizeComponentEncoding (component, esc) {
const func = esc !== true ? escape : unescape
if (component.scheme !== undefined) {
component.scheme = func(component.scheme)
}
if (component.userinfo !== undefined) {
component.userinfo = func(component.userinfo)
}
if (component.host !== undefined) {
component.host = func(component.host)
}
if (component.path !== undefined) {
component.path = func(component.path)
}
if (component.query !== undefined) {
component.query = func(component.query)
}
if (component.fragment !== undefined) {
component.fragment = func(component.fragment)
}
return component
}
/**
* @param {import('../types/index').URIComponent} component
* @returns {string|undefined}
*/
function recomposeAuthority (component) {
const uriTokens = []
if (component.userinfo !== undefined) {
uriTokens.push(component.userinfo)
uriTokens.push('@')
}
if (component.host !== undefined) {
let host = unescape(component.host)
if (!isIPv4(host)) {
const ipV6res = normalizeIPv6(host)
if (ipV6res.isIPV6 === true) {
host = `[${ipV6res.escapedHost}]`
} else {
host = component.host
}
}
uriTokens.push(host)
}
if (typeof component.port === 'number' || typeof component.port === 'string') {
uriTokens.push(':')
uriTokens.push(String(component.port))
}
return uriTokens.length ? uriTokens.join('') : undefined
};
module.exports = {
nonSimpleDomain,
recomposeAuthority,
normalizeComponentEncoding,
removeDotSegments,
isIPv4,
isUUID,
normalizeIPv6,
stringArrayToHexStripped
}

View File

@@ -0,0 +1 @@
{"version":3,"file":"dock.js","sources":["../../../src/icons/dock.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Dock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA4aDIwIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgeD0iMiIgeT0iNCIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTYgMTZoMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dock\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Dock = createLucideIcon('Dock', [\n ['path', { d: 'M2 8h20', key: 'd11cs7' }],\n ['rect', { width: '20', height: '16', x: '2', y: '4', rx: '2', key: '18n3k1' }],\n ['path', { d: 'M6 16h12', key: 'u522kt' }],\n]);\n\nexport default Dock;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,iBAAiB,MAAQ,CAAA,CAAA,CAAA;AAAA,CAAA,CACpC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAM,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC9E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC3C,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1,104 @@
{
"name": "image-size",
"version": "2.0.2",
"description": "get dimensions of any image file",
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.cjs"
}
},
"./fromFile": {
"import": {
"types": "./dist/fromFile.d.ts",
"default": "./dist/fromFile.mjs"
},
"require": {
"types": "./dist/fromFile.d.ts",
"default": "./dist/fromFile.cjs"
}
},
"./types/*": {
"import": {
"types": "./dist/types/*.d.ts",
"default": "./dist/types/*.mjs"
},
"require": {
"types": "./dist/types/*.d.ts",
"default": "./dist/types/*.cjs"
}
}
},
"files": [
"dist",
"bin/image-size.js"
],
"engines": {
"node": ">=16.x"
},
"packageManager": "yarn@4.0.2",
"bin": "bin/image-size.js",
"scripts": {
"lint": "biome check lib specs",
"format": "biome format --write lib specs",
"test": "TS_NODE_PROJECT=tsconfig.test.json c8 --reporter=text --reporter=lcov node --require ts-node/register --test --test-reporter=dot specs/*.spec.ts",
"test:watch": "TS_NODE_PROJECT=tsconfig.test.json node --require ts-node/register --test --watch specs/*.spec.ts",
"clean": "rm -rf dist docs",
"generate-docs": "typedoc",
"build": "tsup",
"prepack": "yarn clean && yarn build"
},
"keywords": [
"image",
"size",
"dimensions",
"resolution",
"width",
"height",
"avif",
"bmp",
"cur",
"gif",
"heic",
"heif",
"icns",
"ico",
"jpeg",
"jxl",
"png",
"psd",
"svg",
"tga",
"tiff",
"webp"
],
"repository": {
"type": "git",
"url": "git://github.com/image-size/image-size.git"
},
"author": "netroy <aditya@netroy.in> (http://netroy.in/)",
"license": "MIT",
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/glob": "8.1.0",
"@types/node": "18.19.39",
"c8": "10.1.3",
"glob": "10.4.2",
"ts-node": "10.9.2",
"tsup": "8.3.5",
"typedoc": "0.25.13",
"typescript": "5.4.5"
},
"nyc": {
"include": "lib",
"exclude": "specs/*.spec.ts"
}
}

View File

@@ -0,0 +1 @@
{"version":3,"file":"target.js","sources":["../../../src/icons/target.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Target\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/target\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Target = createLucideIcon('Target', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['circle', { cx: '12', cy: '12', r: '6', key: '1vlfrh' }],\n ['circle', { cx: '12', cy: '12', r: '2', key: '1c9p78' }],\n]);\n\nexport default Target;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAAiB,QAAU,CAAA,CAAA,CAAA;AAAA,CACxC,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CACzD,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CACxD,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA;AAC1D,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1 @@
module.exports={A:{A:{"2":"K D E F A B zC"},B:{"1":"0 1 2 3 4 5 6 7 8 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 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 0C VC J bB K D E F A B C L M G N O P cB AB BB CB DB EB FB GB HB IB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B WC 6B XC 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC Q H R YC 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 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I ZC aC OC 1C 2C 3C 4C 5C"},D:{"1":"0 1 2 3 4 5 6 7 8 4B 5B WC 6B XC 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC 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 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I ZC aC OC","2":"9 J bB K D E F A B C L M G N O P cB AB BB CB DB EB FB GB HB IB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB","66":"vB wB xB","129":"yB zB 0B 1B 2B 3B"},E:{"2":"J bB K D E F A B C L M G 6C bC 7C 8C 9C AD cC PC QC BD CD DD dC eC RC ED SC fC gC hC iC jC FD TC kC lC mC nC oC GD UC pC qC rC sC HD tC uC vC wC ID"},F:{"1":"0 1 2 3 4 5 6 7 8 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 MC NC Q H R YC 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":"9 F B C G N O P cB AB BB CB DB EB FB GB HB IB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB JD KD LD MD PC xC ND QC"},G:{"1":"fD gD hD dC eC RC iD SC fC gC hC iC jC jD TC kC lC mC nC oC kD UC pC qC rC sC lD tC uC vC wC","2":"E bC OD yC PD QD RD SD TD UD VD WD XD YD ZD aD bD cD dD eD"},H:{"2":"mD"},I:{"1":"I","2":"VC J nD oD pD qD yC rD sD"},J:{"2":"D A"},K:{"1":"H","2":"A B C PC xC QC"},L:{"1":"I"},M:{"2":"OC"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"9 AB BB CB DB EB FB GB HB IB vD wD xD cC yD zD 0D 1D 2D SC TC UC 3D","2":"J tD uD"},Q:{"1":"4D"},R:{"1":"5D"},S:{"2":"6D 7D"}},B:5,C:"Credential Management API",D:true};

View File

@@ -0,0 +1,20 @@
import type { DateArg } from "./types.js";
/**
* @name isFuture
* @category Common Helpers
* @summary Is the given date in the future?
* @pure false
*
* @description
* Is the given date in the future?
*
* @param date - The date to check
*
* @returns The date is in the future
*
* @example
* // If today is 6 October 2014, is 31 December 2014 in the future?
* const result = isFuture(new Date(2014, 11, 31))
* //=> true
*/
export declare function isFuture(date: DateArg<Date> & {}): boolean;

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/vercelai/index.ts"],"sourcesContent":["import type { Client, IntegrationFn } from '@sentry/core';\nimport { addVercelAiProcessors, defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce, type modulesIntegration } from '@sentry/node-core';\nimport { INTEGRATION_NAME } from './constants';\nimport { SentryVercelAiInstrumentation } from './instrumentation';\nimport type { VercelAiOptions } from './types';\n\nexport const instrumentVercelAi = generateInstrumentOnce(INTEGRATION_NAME, () => new SentryVercelAiInstrumentation({}));\n\n/**\n * Determines if the integration should be forced based on environment and package availability.\n * Returns true if the 'ai' package is available.\n */\nfunction shouldForceIntegration(client: Client): boolean {\n const modules = client.getIntegrationByName<ReturnType<typeof modulesIntegration>>('Modules');\n return !!modules?.getModules?.()?.ai;\n}\n\nconst _vercelAIIntegration = ((options: VercelAiOptions = {}) => {\n let instrumentation: undefined | SentryVercelAiInstrumentation;\n\n return {\n name: INTEGRATION_NAME,\n options,\n setupOnce() {\n instrumentation = instrumentVercelAi();\n },\n afterAllSetup(client) {\n // Auto-detect if we should force the integration when running with 'ai' package available\n // Note that this can only be detected if the 'Modules' integration is available, and running in CJS mode\n const shouldForce = options.force ?? shouldForceIntegration(client);\n\n if (shouldForce) {\n addVercelAiProcessors(client);\n } else {\n instrumentation?.callWhenPatched(() => addVercelAiProcessors(client));\n }\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [ai](https://www.npmjs.com/package/ai) library.\n * This integration is not enabled by default, you need to manually add it.\n *\n * For more information, see the [`ai` documentation](https://sdk.vercel.ai/docs/ai-sdk-core/telemetry).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.vercelAIIntegration()],\n * });\n * ```\n *\n * This integration adds tracing support to all `ai` function calls.\n * You need to opt-in to collecting spans for a specific call,\n * you can do so by setting `experimental_telemetry.isEnabled` to `true` in the first argument of the function call.\n *\n * ```javascript\n * const result = await generateText({\n * model: openai('gpt-4-turbo'),\n * experimental_telemetry: { isEnabled: true },\n * });\n * ```\n *\n * If you want to collect inputs and outputs for a specific call, you must specifically opt-in to each\n * function call by setting `experimental_telemetry.recordInputs` and `experimental_telemetry.recordOutputs`\n * to `true`.\n *\n * ```javascript\n * const result = await generateText({\n * model: openai('gpt-4-turbo'),\n * experimental_telemetry: { isEnabled: true, recordInputs: true, recordOutputs: true },\n * });\n */\nexport const vercelAIIntegration = defineIntegration(_vercelAIIntegration);\n"],"names":[],"mappings":";;;;;MAOa,kBAAA,GAAqB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,IAAI,6BAA6B,CAAC,EAAE,CAAC;;AAEtH;AACA;AACA;AACA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAmB;AACzD,EAAE,MAAM,UAAU,MAAM,CAAC,oBAAoB,CAAwC,SAAS,CAAC;AAC/F,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,EAAE;AACtC;;AAEA,MAAM,oBAAA,IAAwB,CAAC,OAAO,GAAoB,EAAE,KAAK;AACjE,EAAE,IAAI,eAAe;;AAErB,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,OAAO;AACX,IAAI,SAAS,GAAG;AAChB,MAAM,eAAA,GAAkB,kBAAkB,EAAE;AAC5C,IAAI,CAAC;AACL,IAAI,aAAa,CAAC,MAAM,EAAE;AAC1B;AACA;AACA,MAAM,MAAM,WAAA,GAAc,OAAO,CAAC,SAAS,sBAAsB,CAAC,MAAM,CAAC;;AAEzE,MAAM,IAAI,WAAW,EAAE;AACvB,QAAQ,qBAAqB,CAAC,MAAM,CAAC;AACrC,MAAM,OAAO;AACb,QAAQ,eAAe,EAAE,eAAe,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC7E,MAAM;AACN,IAAI,CAAC;AACL,GAAG;AACH,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACa,mBAAA,GAAsB,iBAAiB,CAAC,oBAAoB;;;;"}

View File

@@ -0,0 +1,9 @@
import { InstrumentationModuleFile } from './types';
export declare class InstrumentationNodeModuleFile implements InstrumentationModuleFile {
supportedVersions: string[];
patch: (moduleExports: any, moduleVersion?: string) => any;
unpatch: (moduleExports?: any, moduleVersion?: string) => void;
name: string;
constructor(name: string, supportedVersions: string[], patch: (moduleExports: any, moduleVersion?: string) => any, unpatch: (moduleExports?: any, moduleVersion?: string) => void);
}
//# sourceMappingURL=instrumentationNodeModuleFile.d.ts.map

View File

@@ -0,0 +1,9 @@
import { entityKind } from "../entity.js";
import { View } from "../sql/sql.js";
class MySqlViewBase extends View {
static [entityKind] = "MySqlViewBase";
}
export {
MySqlViewBase
};
//# sourceMappingURL=view-base.js.map

View File

@@ -0,0 +1,2 @@
import{isSystemCollection as e}from"../../utils/is-system-collection.js";const t=(t,n,r)=>()=>{let i=String(t);if(e(i))throw Error(`Cannot use createItems for core collections`);return{path:`/items/${i}`,params:r??{},body:JSON.stringify(n),method:`POST`}},n=(t,n,r)=>()=>{let i=String(t);if(e(i))throw Error(`Cannot use createItem for core collections`);return{path:`/items/${i}`,params:r??{},body:JSON.stringify(n),method:`POST`}};export{n as createItem,t as createItems};
//# sourceMappingURL=items.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Actor.css.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/Actor.css.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CA4DvE"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"flattenTopLevelFields.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenTopLevelFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAK1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAE9B,MAAM,2BAA2B,CAAA;AASlC,KAAK,cAAc,CAAC,MAAM,IAAI,MAAM,SAAS,WAAW,GACpD;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAC9C,wBAAwB,GACxB,6BAA6B,CAChC,GACD;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,CAAA;AAIpG;;GAEG;AACH,KAAK,oBAAoB,GAAG;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,SAAS,WAAW,GAAG,KAAK,EACtE,MAAM,GAAE,MAAM,EAAO,EACrB,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,cAAc,CAAC,MAAM,CAAC,EAAE,CAuI1B"}

View File

@@ -0,0 +1,10 @@
import type { SanitizedConfig } from 'payload';
/**
* Returns an array of views marked with 'public: true' in the config
*/
export declare const isCustomAdminView: ({ adminRoute, config, route, }: {
adminRoute: string;
config: SanitizedConfig;
route: string;
}) => boolean;
//# sourceMappingURL=isCustomAdminView.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"conversationId.d.ts","sourceRoot":"","sources":["../../../src/integrations/conversationId.ts"],"names":[],"mappings":"AA2BA;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,wDAAgD,CAAC"}

View File

@@ -0,0 +1,53 @@
var baseIndexOf = require('./_baseIndexOf'),
isArrayLike = require('./isArrayLike'),
isString = require('./isString'),
toInteger = require('./toInteger'),
values = require('./values');
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeMax = Math.max;
/**
* Checks if `value` is in `collection`. If `collection` is a string, it's
* checked for a substring of `value`, otherwise
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
* is used for equality comparisons. If `fromIndex` is negative, it's used as
* the offset from the end of `collection`.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object|string} collection The collection to inspect.
* @param {*} value The value to search for.
* @param {number} [fromIndex=0] The index to search from.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
* @returns {boolean} Returns `true` if `value` is found, else `false`.
* @example
*
* _.includes([1, 2, 3], 1);
* // => true
*
* _.includes([1, 2, 3], 1, 2);
* // => false
*
* _.includes({ 'a': 1, 'b': 2 }, 1);
* // => true
*
* _.includes('abcd', 'bc');
* // => true
*/
function includes(collection, value, fromIndex, guard) {
collection = isArrayLike(collection) ? collection : values(collection);
fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;
var length = collection.length;
if (fromIndex < 0) {
fromIndex = nativeMax(length + fromIndex, 0);
}
return isString(collection)
? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)
: (!!length && baseIndexOf(collection, value, fromIndex) > -1);
}
module.exports = includes;

View File

@@ -0,0 +1,21 @@
var baseEach = require('./_baseEach');
/**
* Aggregates elements of `collection` on `accumulator` with keys transformed
* by `iteratee` and values set by `setter`.
*
* @private
* @param {Array|Object} collection The collection to iterate over.
* @param {Function} setter The function to set `accumulator` values.
* @param {Function} iteratee The iteratee to transform keys.
* @param {Object} accumulator The initial aggregated object.
* @returns {Function} Returns `accumulator`.
*/
function baseAggregator(collection, setter, iteratee, accumulator) {
baseEach(collection, function(value, key, collection) {
setter(accumulator, value, iteratee(value), collection);
});
return accumulator;
}
module.exports = baseAggregator;

View File

@@ -0,0 +1,353 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import { AutoLinkNode, $isAutoLinkNode, $isLinkNode, TOGGLE_LINK_COMMAND, $createAutoLinkNode } from '@lexical/link';
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
import { mergeRegister } from '@lexical/utils';
import { TextNode, $getSelection, $isRangeSelection, COMMAND_PRIORITY_LOW, $isTextNode, $isElementNode, $isLineBreakNode, $createTextNode, $isNodeSelection } from 'lexical';
import { useEffect } from 'react';
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
// Do not require this module directly! Use normal `invariant` calls.
function formatDevErrorMessage(message) {
throw new Error(message);
}
function createLinkMatcherWithRegExp(regExp, urlTransformer = text => text) {
return text => {
const match = regExp.exec(text);
if (match === null) {
return null;
}
return {
index: match.index,
length: match[0].length,
text: match[0],
url: urlTransformer(match[0])
};
};
}
function findFirstMatch(text, matchers) {
for (let i = 0; i < matchers.length; i++) {
const match = matchers[i](text);
if (match) {
return match;
}
}
return null;
}
const PUNCTUATION_OR_SPACE = /[.,;\s]/;
function isSeparator(char) {
return PUNCTUATION_OR_SPACE.test(char);
}
function endsWithSeparator(textContent) {
return isSeparator(textContent[textContent.length - 1]);
}
function startsWithSeparator(textContent) {
return isSeparator(textContent[0]);
}
/**
* Check if the text content starts with a fullstop followed by a top-level domain.
* Meaning if the text content can be a beginning of a top level domain.
* @param textContent
* @param isEmail
* @returns boolean
*/
function startsWithTLD(textContent, isEmail) {
if (isEmail) {
return /^\.[a-zA-Z]{2,}/.test(textContent);
} else {
return /^\.[a-zA-Z0-9]{1,}/.test(textContent);
}
}
function isPreviousNodeValid(node) {
let previousNode = node.getPreviousSibling();
if ($isElementNode(previousNode)) {
previousNode = previousNode.getLastDescendant();
}
return previousNode === null || $isLineBreakNode(previousNode) || $isTextNode(previousNode) && endsWithSeparator(previousNode.getTextContent());
}
function isNextNodeValid(node) {
let nextNode = node.getNextSibling();
if ($isElementNode(nextNode)) {
nextNode = nextNode.getFirstDescendant();
}
return nextNode === null || $isLineBreakNode(nextNode) || $isTextNode(nextNode) && startsWithSeparator(nextNode.getTextContent());
}
function isContentAroundIsValid(matchStart, matchEnd, text, nodes) {
const contentBeforeIsValid = matchStart > 0 ? isSeparator(text[matchStart - 1]) : isPreviousNodeValid(nodes[0]);
if (!contentBeforeIsValid) {
return false;
}
const contentAfterIsValid = matchEnd < text.length ? isSeparator(text[matchEnd]) : isNextNodeValid(nodes[nodes.length - 1]);
return contentAfterIsValid;
}
function extractMatchingNodes(nodes, startIndex, endIndex) {
const unmodifiedBeforeNodes = [];
const matchingNodes = [];
const unmodifiedAfterNodes = [];
let matchingOffset = 0;
let currentOffset = 0;
const currentNodes = [...nodes];
while (currentNodes.length > 0) {
const currentNode = currentNodes[0];
const currentNodeText = currentNode.getTextContent();
const currentNodeLength = currentNodeText.length;
const currentNodeStart = currentOffset;
const currentNodeEnd = currentOffset + currentNodeLength;
if (currentNodeEnd <= startIndex) {
unmodifiedBeforeNodes.push(currentNode);
matchingOffset += currentNodeLength;
} else if (currentNodeStart >= endIndex) {
unmodifiedAfterNodes.push(currentNode);
} else {
matchingNodes.push(currentNode);
}
currentOffset += currentNodeLength;
currentNodes.shift();
}
return [matchingOffset, unmodifiedBeforeNodes, matchingNodes, unmodifiedAfterNodes];
}
function $createAutoLinkNode_(nodes, startIndex, endIndex, match) {
const linkNode = $createAutoLinkNode(match.url, match.attributes);
if (nodes.length === 1) {
let remainingTextNode = nodes[0];
let linkTextNode;
if (startIndex === 0) {
[linkTextNode, remainingTextNode] = remainingTextNode.splitText(endIndex);
} else {
[, linkTextNode, remainingTextNode] = remainingTextNode.splitText(startIndex, endIndex);
}
const textNode = $createTextNode(match.text);
textNode.setFormat(linkTextNode.getFormat());
textNode.setDetail(linkTextNode.getDetail());
textNode.setStyle(linkTextNode.getStyle());
linkNode.append(textNode);
linkTextNode.replace(linkNode);
return remainingTextNode;
} else if (nodes.length > 1) {
const firstTextNode = nodes[0];
let offset = firstTextNode.getTextContent().length;
let firstLinkTextNode;
if (startIndex === 0) {
firstLinkTextNode = firstTextNode;
} else {
[, firstLinkTextNode] = firstTextNode.splitText(startIndex);
}
const linkNodes = [];
let remainingTextNode;
for (let i = 1; i < nodes.length; i++) {
const currentNode = nodes[i];
const currentNodeText = currentNode.getTextContent();
const currentNodeLength = currentNodeText.length;
const currentNodeStart = offset;
const currentNodeEnd = offset + currentNodeLength;
if (currentNodeStart < endIndex) {
if (currentNodeEnd <= endIndex) {
linkNodes.push(currentNode);
} else {
const [linkTextNode, endNode] = currentNode.splitText(endIndex - currentNodeStart);
linkNodes.push(linkTextNode);
remainingTextNode = endNode;
}
}
offset += currentNodeLength;
}
const selection = $getSelection();
const selectedTextNode = selection ? selection.getNodes().find($isTextNode) : undefined;
const textNode = $createTextNode(firstLinkTextNode.getTextContent());
textNode.setFormat(firstLinkTextNode.getFormat());
textNode.setDetail(firstLinkTextNode.getDetail());
textNode.setStyle(firstLinkTextNode.getStyle());
linkNode.append(textNode, ...linkNodes);
// it does not preserve caret position if caret was at the first text node
// so we need to restore caret position
if (selectedTextNode && selectedTextNode === firstLinkTextNode) {
if ($isRangeSelection(selection)) {
textNode.select(selection.anchor.offset, selection.focus.offset);
} else if ($isNodeSelection(selection)) {
textNode.select(0, textNode.getTextContent().length);
}
}
firstLinkTextNode.replace(linkNode);
return remainingTextNode;
}
return undefined;
}
function $handleLinkCreation(nodes, matchers, onChange) {
let currentNodes = [...nodes];
const initialText = currentNodes.map(node => node.getTextContent()).join('');
let text = initialText;
let match;
let invalidMatchEnd = 0;
while ((match = findFirstMatch(text, matchers)) && match !== null) {
const matchStart = match.index;
const matchLength = match.length;
const matchEnd = matchStart + matchLength;
const isValid = isContentAroundIsValid(invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd, initialText, currentNodes);
if (isValid) {
const [matchingOffset,, matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(currentNodes, invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd);
const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset;
const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset;
const remainingTextNode = $createAutoLinkNode_(matchingNodes, actualMatchStart, actualMatchEnd, match);
currentNodes = remainingTextNode ? [remainingTextNode, ...unmodifiedAfterNodes] : unmodifiedAfterNodes;
onChange(match.url, null);
invalidMatchEnd = 0;
} else {
invalidMatchEnd += matchEnd;
}
text = text.substring(matchEnd);
}
}
function handleLinkEdit(linkNode, matchers, onChange) {
// Check children are simple text
const children = linkNode.getChildren();
const childrenLength = children.length;
for (let i = 0; i < childrenLength; i++) {
const child = children[i];
if (!$isTextNode(child) || !child.isSimpleText()) {
replaceWithChildren(linkNode);
onChange(null, linkNode.getURL());
return;
}
}
// Check text content fully matches
const text = linkNode.getTextContent();
const match = findFirstMatch(text, matchers);
if (match === null || match.text !== text) {
replaceWithChildren(linkNode);
onChange(null, linkNode.getURL());
return;
}
// Check neighbors
if (!isPreviousNodeValid(linkNode) || !isNextNodeValid(linkNode)) {
replaceWithChildren(linkNode);
onChange(null, linkNode.getURL());
return;
}
const url = linkNode.getURL();
if (url !== match.url) {
linkNode.setURL(match.url);
onChange(match.url, url);
}
if (match.attributes) {
const rel = linkNode.getRel();
if (rel !== match.attributes.rel) {
linkNode.setRel(match.attributes.rel || null);
onChange(match.attributes.rel || null, rel);
}
const target = linkNode.getTarget();
if (target !== match.attributes.target) {
linkNode.setTarget(match.attributes.target || null);
onChange(match.attributes.target || null, target);
}
}
}
// Bad neighbors are edits in neighbor nodes that make AutoLinks incompatible.
// Given the creation preconditions, these can only be simple text nodes.
function handleBadNeighbors(textNode, matchers, onChange) {
const previousSibling = textNode.getPreviousSibling();
const nextSibling = textNode.getNextSibling();
const text = textNode.getTextContent();
if ($isAutoLinkNode(previousSibling) && !previousSibling.getIsUnlinked() && (!startsWithSeparator(text) || startsWithTLD(text, previousSibling.isEmailURI()))) {
previousSibling.append(textNode);
handleLinkEdit(previousSibling, matchers, onChange);
onChange(null, previousSibling.getURL());
}
if ($isAutoLinkNode(nextSibling) && !nextSibling.getIsUnlinked() && !endsWithSeparator(text)) {
replaceWithChildren(nextSibling);
handleLinkEdit(nextSibling, matchers, onChange);
onChange(null, nextSibling.getURL());
}
}
function replaceWithChildren(node) {
const children = node.getChildren();
const childrenLength = children.length;
for (let j = childrenLength - 1; j >= 0; j--) {
node.insertAfter(children[j]);
}
node.remove();
return children.map(child => child.getLatest());
}
function getTextNodesToMatch(textNode) {
// check if next siblings are simple text nodes till a node contains a space separator
const textNodesToMatch = [textNode];
let nextSibling = textNode.getNextSibling();
while (nextSibling !== null && $isTextNode(nextSibling) && nextSibling.isSimpleText()) {
textNodesToMatch.push(nextSibling);
if (/[\s]/.test(nextSibling.getTextContent())) {
break;
}
nextSibling = nextSibling.getNextSibling();
}
return textNodesToMatch;
}
function useAutoLink(editor, matchers, onChange) {
useEffect(() => {
if (!editor.hasNodes([AutoLinkNode])) {
{
formatDevErrorMessage(`LexicalAutoLinkPlugin: AutoLinkNode not registered on editor`);
}
}
const onChangeWrapped = (url, prevUrl) => {
if (onChange) {
onChange(url, prevUrl);
}
};
return mergeRegister(editor.registerNodeTransform(TextNode, textNode => {
const parent = textNode.getParentOrThrow();
const previous = textNode.getPreviousSibling();
if ($isAutoLinkNode(parent) && !parent.getIsUnlinked()) {
handleLinkEdit(parent, matchers, onChangeWrapped);
} else if (!$isLinkNode(parent)) {
if (textNode.isSimpleText() && (startsWithSeparator(textNode.getTextContent()) || !$isAutoLinkNode(previous))) {
const textNodesToMatch = getTextNodesToMatch(textNode);
$handleLinkCreation(textNodesToMatch, matchers, onChangeWrapped);
}
handleBadNeighbors(textNode, matchers, onChangeWrapped);
}
}), editor.registerCommand(TOGGLE_LINK_COMMAND, payload => {
const selection = $getSelection();
if (payload !== null || !$isRangeSelection(selection)) {
return false;
}
const nodes = selection.extract();
nodes.forEach(node => {
const parent = node.getParent();
if ($isAutoLinkNode(parent)) {
// invert the value
parent.setIsUnlinked(!parent.getIsUnlinked());
parent.markDirty();
}
});
return false;
}, COMMAND_PRIORITY_LOW));
}, [editor, matchers, onChange]);
}
function AutoLinkPlugin({
matchers,
onChange
}) {
const [editor] = useLexicalComposerContext();
useAutoLink(editor, matchers, onChange);
return null;
}
export { AutoLinkPlugin, createLinkMatcherWithRegExp };

View File

@@ -0,0 +1,7 @@
type ReturnType = {
ext: string;
mime: string;
};
export declare const getFileTypeFallback: (path: string) => ReturnType;
export {};
//# sourceMappingURL=getFileTypeFallback.d.ts.map

View File

@@ -0,0 +1,63 @@
import { entityKind } from "../entity.js";
import { GelColumn } from "./columns/index.js";
import type { GelDeleteConfig, GelInsertConfig, GelUpdateConfig } from "./query-builders/index.js";
import type { GelSelectConfig } from "./query-builders/select.types.js";
import { GelTable } from "./table.js";
import { type BuildRelationalQueryResult, type DBQueryConfig, type Relation, type TableRelationalConfig, type TablesRelationalConfig } from "../relations.js";
import { type DriverValueEncoder, type QueryTypingsValue, type QueryWithTypings, SQL } from "../sql/sql.js";
import { type Casing, type UpdateSet } from "../utils.js";
import type { GelMaterializedView } from "./view.js";
export interface GelDialectConfig {
casing?: Casing;
}
export declare class GelDialect {
static readonly [entityKind]: string;
constructor(config?: GelDialectConfig);
escapeName(name: string): string;
escapeParam(num: number): string;
escapeString(str: string): string;
private buildWithCTE;
buildDeleteQuery({ table, where, returning, withList }: GelDeleteConfig): SQL;
buildUpdateSet(table: GelTable, set: UpdateSet): SQL;
buildUpdateQuery({ table, set, where, returning, withList, from, joins }: GelUpdateConfig): SQL;
/**
* Builds selection SQL with provided fields/expressions
*
* Examples:
*
* `select <selection> from`
*
* `insert ... returning <selection>`
*
* If `isSingleTable` is true, then columns won't be prefixed with table name
* ^ Temporarily disabled behaviour, see comments within method for a reasoning
*/
private buildSelection;
private buildJoins;
private buildFromTable;
buildSelectQuery({ withList, fields, fieldsFlat, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause, distinct, setOperators, }: GelSelectConfig): SQL;
buildSetOperations(leftSelect: SQL, setOperators: GelSelectConfig['setOperators']): SQL;
buildSetOperationQuery({ leftSelect, setOperator: { type, isAll, rightSelect, limit, orderBy, offset }, }: {
leftSelect: SQL;
setOperator: GelSelectConfig['setOperators'][number];
}): SQL;
buildInsertQuery({ table, values: valuesOrSelect, onConflict, returning, withList, select, overridingSystemValue_ }: GelInsertConfig): SQL;
buildRefreshMaterializedViewQuery({ view, concurrently, withNoData }: {
view: GelMaterializedView;
concurrently?: boolean;
withNoData?: boolean;
}): SQL;
prepareTyping(encoder: DriverValueEncoder<unknown, unknown>): QueryTypingsValue;
sqlToQuery(sql: SQL, invokeSource?: 'indexes' | undefined): QueryWithTypings;
buildRelationalQueryWithoutPK({ fullSchema, schema, tableNamesMap, table, tableConfig, queryConfig: config, tableAlias, nestedQueryRelation, joinOn, }: {
fullSchema: Record<string, unknown>;
schema: TablesRelationalConfig;
tableNamesMap: Record<string, string>;
table: GelTable;
tableConfig: TableRelationalConfig;
queryConfig: true | DBQueryConfig<'many', true>;
tableAlias: string;
nestedQueryRelation?: Relation;
joinOn?: SQL;
}): BuildRelationalQueryResult<GelTable, GelColumn>;
}

View File

@@ -0,0 +1 @@
{"version":3,"file":"image.js","names":["RenderServerComponent","React","OGImage","description","Fallback","fontFamily","Icon","importMap","leader","title","IconComponent","clientProps","fill","Component","_jsxs","style","backgroundColor","color","display","flexDirection","height","justifyContent","padding","width","flexGrow","fontSize","_jsx","marginBottom","lineHeight","marginTop","textOverflow","WebkitBoxOrient","WebkitLineClamp","alignItems","flexShrink"],"sources":["../../../../src/routes/rest/og/image.tsx"],"sourcesContent":["import type { ImportMap, PayloadComponent } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nexport const OGImage: React.FC<{\n description?: string\n Fallback: React.ComponentType\n fontFamily?: string\n Icon: PayloadComponent\n importMap: ImportMap\n leader?: string\n title?: string\n}> = ({\n description,\n Fallback,\n fontFamily = 'Arial, sans-serif',\n Icon,\n importMap,\n leader,\n title,\n}) => {\n const IconComponent = RenderServerComponent({\n clientProps: {\n fill: 'white',\n },\n Component: Icon,\n Fallback,\n importMap,\n })\n return (\n <div\n style={{\n backgroundColor: '#000',\n color: '#fff',\n display: 'flex',\n flexDirection: 'column',\n fontFamily,\n height: '100%',\n justifyContent: 'space-between',\n padding: '100px',\n width: '100%',\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n fontSize: 50,\n height: '100%',\n }}\n >\n {leader && (\n <div\n style={{\n fontSize: 30,\n marginBottom: 10,\n }}\n >\n {leader}\n </div>\n )}\n <p\n style={{\n display: '-webkit-box',\n fontSize: 90,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 0,\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n }}\n >\n {title}\n </p>\n {description && (\n <p\n style={{\n display: '-webkit-box',\n flexGrow: 1,\n fontSize: 30,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 40,\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div\n style={{\n alignItems: 'flex-end',\n display: 'flex',\n flexShrink: 0,\n height: '38px',\n justifyContent: 'center',\n width: '38px',\n }}\n >\n {IconComponent}\n </div>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,qBAAqB,QAAQ;AACtC,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,OAAA,GAQRA,CAAC;EACJC,WAAW;EACXC,QAAQ;EACRC,UAAA,GAAa,mBAAmB;EAChCC,IAAI;EACJC,SAAS;EACTC,MAAM;EACNC;AAAK,CACN;EACC,MAAMC,aAAA,GAAgBV,qBAAA,CAAsB;IAC1CW,WAAA,EAAa;MACXC,IAAA,EAAM;IACR;IACAC,SAAA,EAAWP,IAAA;IACXF,QAAA;IACAG;EACF;EACA,oBACEO,KAAA,CAAC;IACCC,KAAA,EAAO;MACLC,eAAA,EAAiB;MACjBC,KAAA,EAAO;MACPC,OAAA,EAAS;MACTC,aAAA,EAAe;MACfd,UAAA;MACAe,MAAA,EAAQ;MACRC,cAAA,EAAgB;MAChBC,OAAA,EAAS;MACTC,KAAA,EAAO;IACT;4BAEAT,KAAA,CAAC;MACCC,KAAA,EAAO;QACLG,OAAA,EAAS;QACTC,aAAA,EAAe;QACfK,QAAA,EAAU;QACVC,QAAA,EAAU;QACVL,MAAA,EAAQ;MACV;iBAECZ,MAAA,iBACCkB,IAAA,CAAC;QACCX,KAAA,EAAO;UACLU,QAAA,EAAU;UACVE,YAAA,EAAc;QAChB;kBAECnB;uBAGLkB,IAAA,CAAC;QACCX,KAAA,EAAO;UACLG,OAAA,EAAS;UACTO,QAAA,EAAU;UACVG,UAAA,EAAY;UACZD,YAAA,EAAc;UACdE,SAAA,EAAW;UACXC,YAAA,EAAc;UACdC,eAAA,EAAiB;UACjBC,eAAA,EAAiB;QACnB;kBAECvB;UAEFN,WAAA,iBACCuB,IAAA,CAAC;QACCX,KAAA,EAAO;UACLG,OAAA,EAAS;UACTM,QAAA,EAAU;UACVC,QAAA,EAAU;UACVG,UAAA,EAAY;UACZD,YAAA,EAAc;UACdE,SAAA,EAAW;UACXC,YAAA,EAAc;UACdC,eAAA,EAAiB;UACjBC,eAAA,EAAiB;QACnB;kBAEC7B;;qBAIPuB,IAAA,CAAC;MACCX,KAAA,EAAO;QACLkB,UAAA,EAAY;QACZf,OAAA,EAAS;QACTgB,UAAA,EAAY;QACZd,MAAA,EAAQ;QACRC,cAAA,EAAgB;QAChBE,KAAA,EAAO;MACT;gBAECb;;;AAIT","ignoreList":[]}

View File

@@ -0,0 +1,5 @@
export { GraphQLJSON, GraphQLJSONObject } from '../packages/graphql-type-json/index.js';
export { buildPaginatedListType } from '../schema/buildPaginatedListType.js';
export * as GraphQL from 'graphql';
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"image-minus.js","sources":["../../../src/icons/image-minus.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ImageMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOXYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNyIgLz4KICA8bGluZSB4MT0iMTYiIHgyPSIyMiIgeTE9IjUiIHkyPSI1IiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSI5IiByPSIyIiAvPgogIDxwYXRoIGQ9Im0yMSAxNS0zLjA4Ni0zLjA4NmEyIDIgMCAwIDAtMi44MjggMEw2IDIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/image-minus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ImageMinus = createLucideIcon('ImageMinus', [\n ['path', { d: 'M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7', key: 'm87ecr' }],\n ['line', { x1: '16', x2: '22', y1: '5', y2: '5', key: 'ez7e4s' }],\n ['circle', { cx: '9', cy: '9', r: '2', key: 'af1f0g' }],\n ['path', { d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21', key: '1xmnt7' }],\n]);\n\nexport default ImageMinus;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,iBAAiB,YAAc,CAAA,CAAA,CAAA;AAAA,CAAA,CAChD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA4D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CACzF,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA,CAAA,EAAI,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAI,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAChE,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,EAAK,CAAI,CAAA,CAAA,CAAA,GAAA,CAAK,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CAAA,CACtD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA6C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC5E,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1,2 @@
import { functionsIn } from "./index";
export = functionsIn;

View File

@@ -0,0 +1,14 @@
interface BreadcrumbsOptions {
console: boolean;
dom: boolean | {
serializeAttribute?: string | string[];
maxStringLength?: number;
};
fetch: boolean;
history: boolean;
sentry: boolean;
xhr: boolean;
}
export declare const breadcrumbsIntegration: (options?: Partial<BreadcrumbsOptions> | undefined) => import("@sentry/core").Integration;
export {};
//# sourceMappingURL=breadcrumbs.d.ts.map

View File

@@ -0,0 +1,25 @@
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var mysql_exports = {};
module.exports = __toCommonJS(mysql_exports);
__reExport(mysql_exports, require("./driver.cjs"), module.exports);
__reExport(mysql_exports, require("./session.cjs"), module.exports);
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
...require("./driver.cjs"),
...require("./session.cjs")
});
//# sourceMappingURL=index.cjs.map

View File

@@ -0,0 +1,30 @@
import { toDate } from "./toDate.js";
/**
* @name differenceInMilliseconds
* @category Millisecond Helpers
* @summary Get the number of milliseconds between the given dates.
*
* @description
* Get the number of milliseconds between the given dates.
*
* @param laterDate - The later date
* @param earlierDate - The earlier date
*
* @returns The number of milliseconds
*
* @example
* // How many milliseconds are between
* // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?
* const result = differenceInMilliseconds(
* new Date(2014, 6, 2, 12, 30, 21, 700),
* new Date(2014, 6, 2, 12, 30, 20, 600)
* )
* //=> 1100
*/
export function differenceInMilliseconds(laterDate, earlierDate) {
return +toDate(laterDate) - +toDate(earlierDate);
}
// Fallback for modularized imports:
export default differenceInMilliseconds;

View File

@@ -0,0 +1,13 @@
import type { NextRequest } from 'next/server.js';
import type { ResolvedRoutingConfig } from '../routing/config.js';
import type { DomainsConfig, LocalePrefixMode, Locales, Pathnames } from '../routing/types.js';
/**
* See https://developers.google.com/search/docs/specialty/international/localized-versions
*/
export default function getAlternateLinksHeaderValue<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode, AppPathnames extends Pathnames<AppLocales> | undefined, AppDomains extends DomainsConfig<AppLocales> | undefined>({ internalTemplateName, localizedPathnames, request, resolvedLocale, routing }: {
routing: Omit<ResolvedRoutingConfig<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>, 'pathnames'>;
request: NextRequest;
resolvedLocale: AppLocales[number];
localizedPathnames?: Pathnames<AppLocales>[string];
internalTemplateName?: string;
}): string;

View File

@@ -0,0 +1,50 @@
"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);
var subquery_exports = {};
__export(subquery_exports, {
Subquery: () => Subquery,
WithSubquery: () => WithSubquery
});
module.exports = __toCommonJS(subquery_exports);
var import_entity = require("./entity.cjs");
class Subquery {
static [import_entity.entityKind] = "Subquery";
constructor(sql, fields, alias, isWith = false, usedTables = []) {
this._ = {
brand: "Subquery",
sql,
selectedFields: fields,
alias,
isWith,
usedTables
};
}
// getSQL(): SQL<unknown> {
// return new SQL([this]);
// }
}
class WithSubquery extends Subquery {
static [import_entity.entityKind] = "WithSubquery";
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
Subquery,
WithSubquery
});
//# sourceMappingURL=subquery.cjs.map

View File

@@ -0,0 +1,53 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import type { ElementFormatType } from './nodes/LexicalElementNode';
import type { TextDetailType, TextFormatType, TextModeType } from './nodes/LexicalTextNode';
export declare const DOM_ELEMENT_TYPE = 1;
export declare const DOM_TEXT_TYPE = 3;
export declare const DOM_DOCUMENT_TYPE = 9;
export declare const DOM_DOCUMENT_FRAGMENT_TYPE = 11;
export declare const NO_DIRTY_NODES = 0;
export declare const HAS_DIRTY_NODES = 1;
export declare const FULL_RECONCILE = 2;
export declare const IS_NORMAL = 0;
export declare const IS_TOKEN = 1;
export declare const IS_SEGMENTED = 2;
export declare const IS_BOLD = 1;
export declare const IS_ITALIC: number;
export declare const IS_STRIKETHROUGH: number;
export declare const IS_UNDERLINE: number;
export declare const IS_CODE: number;
export declare const IS_SUBSCRIPT: number;
export declare const IS_SUPERSCRIPT: number;
export declare const IS_HIGHLIGHT: number;
export declare const IS_LOWERCASE: number;
export declare const IS_UPPERCASE: number;
export declare const IS_CAPITALIZE: number;
export declare const IS_ALL_FORMATTING: number;
export declare const IS_DIRECTIONLESS = 1;
export declare const IS_UNMERGEABLE: number;
export declare const IS_ALIGN_LEFT = 1;
export declare const IS_ALIGN_CENTER = 2;
export declare const IS_ALIGN_RIGHT = 3;
export declare const IS_ALIGN_JUSTIFY = 4;
export declare const IS_ALIGN_START = 5;
export declare const IS_ALIGN_END = 6;
export declare const NON_BREAKING_SPACE = "\u00A0";
export declare const COMPOSITION_SUFFIX: string;
export declare const DOUBLE_LINE_BREAK = "\n\n";
export declare const COMPOSITION_START_CHAR: string;
export declare const RTL_REGEX: RegExp;
export declare const LTR_REGEX: RegExp;
export declare const TEXT_TYPE_TO_FORMAT: Record<TextFormatType | string, number>;
export declare const DETAIL_TYPE_TO_DETAIL: Record<TextDetailType | string, number>;
export declare const ELEMENT_TYPE_TO_FORMAT: Record<Exclude<ElementFormatType, ''>, number>;
export declare const ELEMENT_FORMAT_TO_TYPE: Record<number, ElementFormatType>;
export declare const TEXT_MODE_TO_TYPE: Record<TextModeType, 0 | 1 | 2>;
export declare const TEXT_TYPE_TO_MODE: Record<number, TextModeType>;
export declare const NODE_STATE_KEY = "$";
export declare const PROTOTYPE_CONFIG_METHOD = "$config";

View File

@@ -0,0 +1,30 @@
import { toDate } from "./toDate.js";
/**
* The {@link isThursday} function options.
*/
/**
* @name isThursday
* @category Weekday Helpers
* @summary Is the given date Thursday?
*
* @description
* Is the given date Thursday?
*
* @param date - The date to check
* @param options - An object with options
*
* @returns The date is Thursday
*
* @example
* // Is 25 September 2014 Thursday?
* const result = isThursday(new Date(2014, 8, 25))
* //=> true
*/
export function isThursday(date, options) {
return toDate(date, options?.in).getDay() === 4;
}
// Fallback for modularized imports:
export default isThursday;

View File

@@ -0,0 +1,25 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const CandyCane = createLucideIcon("CandyCane", [
[
"path",
{
d: "M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z",
key: "isaq8g"
}
],
["path", { d: "M17.75 7 15 2.1", key: "12x7e8" }],
["path", { d: "M10.9 4.8 13 9", key: "100a87" }],
["path", { d: "m7.9 9.7 2 4.4", key: "ntfhaj" }],
["path", { d: "M4.9 14.7 7 18.9", key: "1x43jy" }]
]);
export { CandyCane as default };
//# sourceMappingURL=candy-cane.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_set","require","_getPrototypeOf","_superPropSet","classArg","property","value","receiver","isStrict","prototype","set","getPrototypeOf"],"sources":["../../src/helpers/superPropSet.ts"],"sourcesContent":["/* @minVersion 7.25.0 */\n\nimport set from \"./set.ts\";\nimport getPrototypeOf from \"./getPrototypeOf.ts\";\n\nexport default function _superPropSet(\n classArg: any,\n property: string,\n value: any,\n receiver: any,\n isStrict: boolean,\n prototype?: 1,\n) {\n return set(\n getPrototypeOf(prototype ? classArg.prototype : classArg),\n property,\n value,\n receiver,\n isStrict,\n );\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEe,SAASE,aAAaA,CACnCC,QAAa,EACbC,QAAgB,EAChBC,KAAU,EACVC,QAAa,EACbC,QAAiB,EACjBC,SAAa,EACb;EACA,OAAO,IAAAC,YAAG,EACR,IAAAC,uBAAc,EAACF,SAAS,GAAGL,QAAQ,CAACK,SAAS,GAAGL,QAAQ,CAAC,EACzDC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,QACF,CAAC;AACH","ignoreList":[]}

View File

@@ -0,0 +1 @@
{"version":3,"file":"monitor-smartphone.js","sources":["../../../src/icons/monitor-smartphone.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name MonitorSmartphone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMCAxOXYtMy45NiAzLjE1IiAvPgogIDxwYXRoIGQ9Ik03IDE5aDUiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE2IiB5PSIxMiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-smartphone\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MonitorSmartphone = createLucideIcon('MonitorSmartphone', [\n ['path', { d: 'M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8', key: '10dyio' }],\n ['path', { d: 'M10 19v-3.96 3.15', key: '1irgej' }],\n ['path', { d: 'M7 19h5', key: 'qswx4l' }],\n ['rect', { width: '6', height: '10', x: '16', y: '12', rx: '2', key: '1egngj' }],\n]);\n\nexport default MonitorSmartphone;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,iBAAiB,mBAAqB,CAAA,CAAA,CAAA;AAAA,CAAA,CAC9D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA2D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxF,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAClD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AACjF,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1,6 @@
import type { ReplayBreadcrumbFrame } from '../types/replayFrame';
/**
* Create a breadcrumb for a replay.
*/
export declare function createBreadcrumb(breadcrumb: Omit<ReplayBreadcrumbFrame, 'timestamp' | 'type'> & Partial<Pick<ReplayBreadcrumbFrame, 'timestamp'>>): ReplayBreadcrumbFrame;
//# sourceMappingURL=createBreadcrumb.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../src/sqlite-core/subquery.ts"],"sourcesContent":["import type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { AddAliasToSelection } from '~/query-builders/select.types.ts';\nimport type { ColumnsSelection, SQL } from '~/sql/sql.ts';\nimport type { Subquery, WithSubquery, WithSubqueryWithoutSelection } from '~/subquery.ts';\nimport type { QueryBuilder } from './query-builders/query-builder.ts';\n\nexport type SubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> =\n\t& Subquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'sqlite'>>\n\t& AddAliasToSelection<TSelection, TAlias, 'sqlite'>;\n\nexport type WithSubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> =\n\t& WithSubquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'sqlite'>>\n\t& AddAliasToSelection<TSelection, TAlias, 'sqlite'>;\n\nexport interface WithBuilder {\n\t<TAlias extends string>(alias: TAlias): {\n\t\tas: {\n\t\t\t<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t(\n\t\t\t\tqb: TypedQueryBuilder<undefined> | ((qb: QueryBuilder) => TypedQueryBuilder<undefined>),\n\t\t\t): WithSubqueryWithoutSelection<TAlias>;\n\t\t};\n\t};\n\t<TAlias extends string, TSelection extends ColumnsSelection>(alias: TAlias, selection: TSelection): {\n\t\tas: (qb: SQL | ((qb: QueryBuilder) => SQL)) => WithSubqueryWithSelection<TSelection, TAlias>;\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}

View File

@@ -0,0 +1,236 @@
import { tabHasName } from '../../fields/config/types.js';
const isThenable = (value)=>value != null && typeof value.then === 'function';
/**
* Helper to set a permission value that might be a promise.
* If it's a promise, creates a chained promise that resolves to update the target,
* stores the promise temporarily, and adds it to the promises array for later resolution.
*/ const setPermission = (// eslint-disable-next-line @typescript-eslint/no-explicit-any
target, operation, value, promises)=>{
if (isThenable(value)) {
// Create a single permission object that will be mutated in place
// This ensures all references (including cached blocks) see the resolved value
const permissionObj = {
permission: value
};
target[operation] = permissionObj;
const permissionPromise = value.then((result)=>{
// Mutate the permission property in place so all references see the update
permissionObj.permission = result;
});
promises.push(permissionPromise);
} else {
target[operation] = {
permission: value
};
}
};
/**
* Build up permissions object and run access functions for each field of an entity
* This function is synchronous and collects all async work into the promises array
*/ export const populateFieldPermissions = ({ id, blockReferencesPermissions, data, fields, operations, parentPermissionsObject, permissionsObject, promises, req })=>{
for (const field of fields){
// Set up permissions for all operations
for (const operation of operations){
const parentPermissionForOperation = parentPermissionsObject[operation]?.permission;
// Fields don't have all operations of a collection
if (operation === 'delete' || operation === 'readVersions' || operation === 'unlock') {
continue;
}
if ('name' in field && field.name) {
if (!permissionsObject[field.name]) {
permissionsObject[field.name] = {};
}
const fieldPermissions = permissionsObject[field.name];
if ('access' in field && field.access && typeof field.access[operation] === 'function') {
const accessResult = field.access[operation]({
id,
data,
doc: data,
req
});
// Handle both sync and async access results
if (isThenable(accessResult)) {
const booleanPromise = accessResult.then((result)=>Boolean(result));
setPermission(fieldPermissions, operation, booleanPromise, promises);
} else {
setPermission(fieldPermissions, operation, Boolean(accessResult), promises);
}
} else {
// Inherit from parent (which might be a promise)
setPermission(fieldPermissions, operation, parentPermissionForOperation, promises);
}
}
}
// Handle named fields with nested content
if ('name' in field && field.name) {
const fieldPermissions = permissionsObject[field.name];
if ('fields' in field && field.fields) {
if (!fieldPermissions.fields) {
fieldPermissions.fields = {};
}
populateFieldPermissions({
id,
blockReferencesPermissions,
data,
fields: field.fields,
operations,
parentPermissionsObject: fieldPermissions,
permissionsObject: fieldPermissions.fields,
promises,
req
});
}
if ('blocks' in field && field.blocks?.length || 'blockReferences' in field && field.blockReferences?.length) {
if (!fieldPermissions.blocks) {
fieldPermissions.blocks = {};
}
const blocksPermissions = fieldPermissions.blocks;
// Set up permissions for all operations for all blocks
for (const operation of operations){
// Fields don't have all operations of a collection
if (operation === 'delete' || operation === 'readVersions' || operation === 'unlock') {
continue;
}
const parentPermissionForOperation = parentPermissionsObject[operation]?.permission;
for (const _block of field.blockReferences ?? field.blocks){
const block = typeof _block === 'string' ? req.payload.blocks[_block] : _block;
// Skip if block doesn't exist (invalid block reference)
if (!block) {
continue;
}
// Handle block references - check if we've seen this block before
if (typeof _block === 'string') {
const blockReferencePermissions = blockReferencesPermissions[_block];
if (blockReferencePermissions) {
// Reference the cached permissions (may be a promise or resolved object)
blocksPermissions[block.slug] = blockReferencePermissions;
continue;
}
}
// Initialize block permissions object if needed
if (!blocksPermissions[block.slug]) {
blocksPermissions[block.slug] = {};
}
const blockPermission = blocksPermissions[block.slug];
// Set permission for this operation
if (!blockPermission[operation]) {
const fieldPermission = fieldPermissions[operation]?.permission ?? parentPermissionForOperation;
// Inherit from field permission (which might be a promise)
setPermission(blockPermission, operation, fieldPermission, promises);
}
}
}
// Process nested content for each unique block (once per block, not once per operation)
const processedBlocks = new Set();
for (const _block of field.blockReferences ?? field.blocks){
const block = typeof _block === 'string' ? req.payload.blocks[_block] : _block;
// Skip if block doesn't exist (invalid block reference)
if (!block || processedBlocks.has(block.slug)) {
continue;
}
processedBlocks.add(block.slug);
const blockPermission = blocksPermissions[block.slug];
if (!blockPermission) {
continue;
}
if (!blockPermission.fields) {
blockPermission.fields = {};
}
// Handle block references with caching - store as promise that will be resolved later
if (typeof _block === 'string' && !blockReferencesPermissions[_block]) {
// Mark this block as being processed by storing a reference
blockReferencesPermissions[_block] = blockPermission;
}
// Recursively process block fields synchronously
populateFieldPermissions({
id,
blockReferencesPermissions,
data,
fields: block.fields,
operations,
parentPermissionsObject: blockPermission,
permissionsObject: blockPermission.fields,
promises,
req
});
}
}
}
// Handle unnamed group fields
if ('fields' in field && field.fields && !('name' in field && field.name)) {
// Field does not have a name => same parentPermissionsObject
populateFieldPermissions({
id,
blockReferencesPermissions,
data,
fields: field.fields,
operations,
// Field does not have a name here => use parent permissions object
parentPermissionsObject,
permissionsObject,
promises,
req
});
}
// Handle tabs fields
if (field.type === 'tabs') {
// Process tabs for all operations
for (const operation of operations){
// Fields don't have all operations of a collection
if (operation === 'delete' || operation === 'readVersions' || operation === 'unlock') {
continue;
}
const parentPermissionForOperation = parentPermissionsObject[operation]?.permission;
for (const tab of field.tabs){
if (tabHasName(tab)) {
if (!permissionsObject[tab.name]) {
permissionsObject[tab.name] = {
fields: {}
};
}
const tabPermissions = permissionsObject[tab.name];
if (!tabPermissions[operation]) {
// Inherit from parent (which might be a promise)
setPermission(tabPermissions, operation, parentPermissionForOperation, promises);
}
}
}
}
for (const tab of field.tabs){
if (tabHasName(tab)) {
const tabPermissions = permissionsObject[tab.name];
if (!tabPermissions.fields) {
tabPermissions.fields = {};
}
populateFieldPermissions({
id,
blockReferencesPermissions,
data,
fields: tab.fields,
operations,
parentPermissionsObject: tabPermissions,
permissionsObject: tabPermissions.fields,
promises,
req
});
} else {
// Tab does not have a name => same parentPermissionsObject
populateFieldPermissions({
id,
blockReferencesPermissions,
data,
fields: tab.fields,
operations,
// Tab does not have a name here => use parent permissions object
parentPermissionsObject,
permissionsObject,
promises,
req
});
}
}
}
}
};
//# sourceMappingURL=populateFieldPermissions.js.map

View File

@@ -0,0 +1 @@
export { _ as default } from "../esm/_object_without_properties_loose.js";

View File

@@ -0,0 +1,3 @@
import type { ColumnPreference, SelectType } from 'payload';
export declare const transformColumnsToSelect: (columns: ColumnPreference[]) => SelectType;
//# sourceMappingURL=transformColumnsToSelect.d.ts.map

View File

@@ -0,0 +1,8 @@
/**
* Sets the async context strategy to use AsyncLocalStorage.
*
* This is a lightweight alternative to the OpenTelemetry-based strategy.
* It uses Node's native AsyncLocalStorage directly without any OpenTelemetry dependencies.
*/
export declare function setAsyncLocalStorageAsyncContextStrategy(): void;
//# sourceMappingURL=asyncLocalStorageStrategy.d.ts.map

View File

@@ -0,0 +1,17 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const CircleArrowOutUpLeft = createLucideIcon("CircleArrowOutUpLeft", [
["path", { d: "M2 8V2h6", key: "hiwtdz" }],
["path", { d: "m2 2 10 10", key: "1oh8rs" }],
["path", { d: "M12 2A10 10 0 1 1 2 12", key: "rrk4fa" }]
]);
export { CircleArrowOutUpLeft as default };
//# sourceMappingURL=circle-arrow-out-up-left.js.map

View File

@@ -0,0 +1,454 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
class HookCodeFactory {
constructor(config) {
this.config = config;
this.options = undefined;
this._args = undefined;
}
create(options) {
this.init(options);
let fn;
switch (this.options.type) {
case "sync":
fn = new Function(
this.args(),
`"use strict";\n${this.header()}${this.contentWithInterceptors({
onError: (err) => `throw ${err};\n`,
onResult: (result) => `return ${result};\n`,
resultReturns: true,
onDone: () => "",
rethrowIfPossible: true
})}`
);
break;
case "async":
fn = new Function(
this.args({
after: "_callback"
}),
`"use strict";\n${this.header()}${this.contentWithInterceptors({
onError: (err) => `_callback(${err});\n`,
onResult: (result) => `_callback(null, ${result});\n`,
onDone: () => "_callback();\n"
})}`
);
break;
case "promise": {
let errorHelperUsed = false;
const content = this.contentWithInterceptors({
onError: (err) => {
errorHelperUsed = true;
return `_error(${err});\n`;
},
onResult: (result) => `_resolve(${result});\n`,
onDone: () => "_resolve();\n"
});
let code = "";
code += '"use strict";\n';
code += this.header();
code += "return new Promise((function(_resolve, _reject) {\n";
if (errorHelperUsed) {
code += "var _sync = true;\n";
code += "function _error(_err) {\n";
code += "if(_sync)\n";
code +=
"_resolve(Promise.resolve().then((function() { throw _err; })));\n";
code += "else\n";
code += "_reject(_err);\n";
code += "};\n";
}
code += content;
if (errorHelperUsed) {
code += "_sync = false;\n";
}
code += "}));\n";
fn = new Function(this.args(), code);
break;
}
}
this.deinit();
return fn;
}
setup(instance, options) {
instance._x = options.taps.map((t) => t.fn);
}
/**
* @param {{ type: "sync" | "promise" | "async", taps: Array<Tap>, interceptors: Array<Interceptor> }} options
*/
init(options) {
this.options = options;
this._args = [...options.args];
}
deinit() {
this.options = undefined;
this._args = undefined;
}
contentWithInterceptors(options) {
if (this.options.interceptors.length > 0) {
const { onError, onResult, onDone } = options;
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.call) {
code += `${this.getInterceptor(i)}.call(${this.args({
before: interceptor.context ? "_context" : undefined
})});\n`;
}
}
code += this.content(
Object.assign(options, {
onError:
onError &&
((err) => {
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.error) {
code += `${this.getInterceptor(i)}.error(${err});\n`;
}
}
code += onError(err);
return code;
}),
onResult:
onResult &&
((result) => {
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.result) {
code += `${this.getInterceptor(i)}.result(${result});\n`;
}
}
code += onResult(result);
return code;
}),
onDone:
onDone &&
(() => {
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.done) {
code += `${this.getInterceptor(i)}.done();\n`;
}
}
code += onDone();
return code;
})
})
);
return code;
}
return this.content(options);
}
header() {
let code = "";
code += this.needContext() ? "var _context = {};\n" : "var _context;\n";
code += "var _x = this._x;\n";
if (this.options.interceptors.length > 0) {
code += "var _taps = this.taps;\n";
code += "var _interceptors = this.interceptors;\n";
}
return code;
}
needContext() {
for (const tap of this.options.taps) if (tap.context) return true;
return false;
}
callTap(tapIndex, { onError, onResult, onDone, rethrowIfPossible }) {
let code = "";
let hasTapCached = false;
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.tap) {
if (!hasTapCached) {
code += `var _tap${tapIndex} = ${this.getTap(tapIndex)};\n`;
hasTapCached = true;
}
code += `${this.getInterceptor(i)}.tap(${
interceptor.context ? "_context, " : ""
}_tap${tapIndex});\n`;
}
}
code += `var _fn${tapIndex} = ${this.getTapFn(tapIndex)};\n`;
const tap = this.options.taps[tapIndex];
switch (tap.type) {
case "sync":
if (!rethrowIfPossible) {
code += `var _hasError${tapIndex} = false;\n`;
code += "try {\n";
}
if (onResult) {
code += `var _result${tapIndex} = _fn${tapIndex}(${this.args({
before: tap.context ? "_context" : undefined
})});\n`;
} else {
code += `_fn${tapIndex}(${this.args({
before: tap.context ? "_context" : undefined
})});\n`;
}
if (!rethrowIfPossible) {
code += "} catch(_err) {\n";
code += `_hasError${tapIndex} = true;\n`;
code += onError("_err");
code += "}\n";
code += `if(!_hasError${tapIndex}) {\n`;
}
if (onResult) {
code += onResult(`_result${tapIndex}`);
}
if (onDone) {
code += onDone();
}
if (!rethrowIfPossible) {
code += "}\n";
}
break;
case "async": {
let cbCode = "";
cbCode += onResult
? `(function(_err${tapIndex}, _result${tapIndex}) {\n`
: `(function(_err${tapIndex}) {\n`;
cbCode += `if(_err${tapIndex}) {\n`;
cbCode += onError(`_err${tapIndex}`);
cbCode += "} else {\n";
if (onResult) {
cbCode += onResult(`_result${tapIndex}`);
}
if (onDone) {
cbCode += onDone();
}
cbCode += "}\n";
cbCode += "})";
code += `_fn${tapIndex}(${this.args({
before: tap.context ? "_context" : undefined,
after: cbCode
})});\n`;
break;
}
case "promise":
code += `var _hasResult${tapIndex} = false;\n`;
code += `var _promise${tapIndex} = _fn${tapIndex}(${this.args({
before: tap.context ? "_context" : undefined
})});\n`;
code += `if (!_promise${tapIndex} || !_promise${tapIndex}.then)\n`;
code += ` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${tapIndex} + ')');\n`;
code += `_promise${tapIndex}.then((function(_result${tapIndex}) {\n`;
code += `_hasResult${tapIndex} = true;\n`;
if (onResult) {
code += onResult(`_result${tapIndex}`);
}
if (onDone) {
code += onDone();
}
code += `}), function(_err${tapIndex}) {\n`;
code += `if(_hasResult${tapIndex}) throw _err${tapIndex};\n`;
code += onError(
`!_err${tapIndex} ? new Error('Tap function (tapPromise) rejects "' + _err${tapIndex} + '" value') : _err${tapIndex}`
);
code += "});\n";
break;
}
return code;
}
callTapsSeries({
onError,
onResult,
resultReturns,
onDone,
doneReturns,
rethrowIfPossible
}) {
if (this.options.taps.length === 0) return onDone();
const firstAsync = this.options.taps.findIndex((t) => t.type !== "sync");
const somethingReturns = resultReturns || doneReturns;
let code = "";
let current = onDone;
let unrollCounter = 0;
for (let j = this.options.taps.length - 1; j >= 0; j--) {
const i = j;
const unroll =
current !== onDone &&
(this.options.taps[i].type !== "sync" || unrollCounter++ > 20);
if (unroll) {
unrollCounter = 0;
code += `function _next${i}() {\n`;
code += current();
code += "}\n";
current = () => `${somethingReturns ? "return " : ""}_next${i}();\n`;
}
const done = current;
const doneBreak = (skipDone) => {
if (skipDone) return "";
return onDone();
};
const content = this.callTap(i, {
onError: (error) => onError(i, error, done, doneBreak),
onResult:
onResult && ((result) => onResult(i, result, done, doneBreak)),
onDone: !onResult && done,
rethrowIfPossible:
rethrowIfPossible && (firstAsync < 0 || i < firstAsync)
});
current = () => content;
}
code += current();
return code;
}
callTapsLooping({ onError, onDone, rethrowIfPossible }) {
if (this.options.taps.length === 0) return onDone();
const syncOnly = this.options.taps.every((t) => t.type === "sync");
let code = "";
if (!syncOnly) {
code += "var _looper = (function() {\n";
code += "var _loopAsync = false;\n";
}
code += "var _loop;\n";
code += "do {\n";
code += "_loop = false;\n";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.loop) {
code += `${this.getInterceptor(i)}.loop(${this.args({
before: interceptor.context ? "_context" : undefined
})});\n`;
}
}
code += this.callTapsSeries({
onError,
onResult: (i, result, next, doneBreak) => {
let code = "";
code += `if(${result} !== undefined) {\n`;
code += "_loop = true;\n";
if (!syncOnly) code += "if(_loopAsync) _looper();\n";
code += doneBreak(true);
code += "} else {\n";
code += next();
code += "}\n";
return code;
},
onDone:
onDone &&
(() => {
let code = "";
code += "if(!_loop) {\n";
code += onDone();
code += "}\n";
return code;
}),
rethrowIfPossible: rethrowIfPossible && syncOnly
});
code += "} while(_loop);\n";
if (!syncOnly) {
code += "_loopAsync = true;\n";
code += "});\n";
code += "_looper();\n";
}
return code;
}
callTapsParallel({
onError,
onResult,
onDone,
rethrowIfPossible,
onTap = (i, run) => run()
}) {
if (this.options.taps.length <= 1) {
return this.callTapsSeries({
onError,
onResult,
onDone,
rethrowIfPossible
});
}
let code = "";
code += "do {\n";
code += `var _counter = ${this.options.taps.length};\n`;
if (onDone) {
code += "var _done = (function() {\n";
code += onDone();
code += "});\n";
}
for (let i = 0; i < this.options.taps.length; i++) {
const done = () => {
if (onDone) return "if(--_counter === 0) _done();\n";
return "--_counter;";
};
const doneBreak = (skipDone) => {
if (skipDone || !onDone) return "_counter = 0;\n";
return "_counter = 0;\n_done();\n";
};
code += "if(_counter <= 0) break;\n";
code += onTap(
i,
() =>
this.callTap(i, {
onError: (error) => {
let code = "";
code += "if(_counter > 0) {\n";
code += onError(i, error, done, doneBreak);
code += "}\n";
return code;
},
onResult:
onResult &&
((result) => {
let code = "";
code += "if(_counter > 0) {\n";
code += onResult(i, result, done, doneBreak);
code += "}\n";
return code;
}),
onDone: !onResult && (() => done()),
rethrowIfPossible
}),
done,
doneBreak
);
}
code += "} while(false);\n";
return code;
}
args({ before, after } = {}) {
let allArgs = this._args;
if (before) allArgs = [before, ...allArgs];
if (after) allArgs = [...allArgs, after];
if (allArgs.length === 0) {
return "";
}
return allArgs.join(", ");
}
getTapFn(idx) {
return `_x[${idx}]`;
}
getTap(idx) {
return `_taps[${idx}]`;
}
getInterceptor(idx) {
return `_interceptors[${idx}]`;
}
}
module.exports = HookCodeFactory;

View File

@@ -0,0 +1,9 @@
import type { Locale } from "./types.js";
/**
* @category Locales
* @summary Esperanto locale.
* @language Esperanto
* @iso-639-2 epo
* @author date-fns
*/
export declare const eo: Locale;

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Nahiyan Kamal
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.

Some files were not shown because too many files have changed in this diff Show More