/
home
/
techb158
/
immovalet.com
/
vendor
/
tightenco
/
ziggy
/
src
/
js
/
/home/techb158/immovalet.com/vendor/tightenco/ziggy/src/js
mkdir
upload
Name
Size
Mode
Actions
index.js
208
0644
edit
dl
rm
Route.js
3146
0644
edit
dl
rm
Router.js
11728
0644
edit
dl
rm
vue.js
243
0644
edit
dl
rm
Edit:
/home/techb158/immovalet.com/vendor/tightenco/ziggy/src/js/Route.js
(3146B)
/** * A Laravel route. This class represents one route and its configuration and metadata. */ export default class Route { /** * @param {String} name - Route name. * @param {Object} definition - Route definition. * @param {Object} config - Ziggy configuration. */ constructor(name, definition, config) { this.name = name; this.definition = definition; this.bindings = definition.bindings ?? {}; this.config = config; } /** * Get a 'template' of the complete URL for this route. * * @example * https://{team}.ziggy.dev/user/{user} * * @return {String} Route template. */ get template() { // If we're building just a path there's no origin, otherwise: if this route has a // domain configured we construct the origin with that, if not we use the app URL const origin = !this.config.absolute ? '' : this.definition.domain ? `${this.config.url.match(/^\w+:\/\//)[0]}${this.definition.domain}${this.config.port ? `:${this.config.port}` : ''}` : this.config.url; return `${origin}/${this.definition.uri}`.replace(/\/+$/, ''); } /** * Get an array of objects representing the parameters that this route accepts. * * @example * [{ name: 'team', required: true }, { name: 'user', required: false }] * * @return {Array} Parameter segments. */ get parameterSegments() { return this.template.match(/{[^}?]+\??}/g)?.map((segment) => ({ name: segment.replace(/{|\??}/g, ''), required: !/\?}$/.test(segment), })) ?? []; } /** * Get whether this route's template matches the given URL. * * @param {String} url - URL to check. * @return {Boolean} Whether this route matches. */ matchesUrl(url) { if (!this.definition.methods.includes('GET')) return false; // Transform the route's template into a regex that will match a hydrated URL, // by replacing its parameter segments with matchers for parameter values const pattern = this.template .replace(/\/{[^}?]*\?}/g, '(\/[^/?]+)?') .replace(/{[^}]+}/g, '[^/?]+') .replace(/^\w+:\/\//, ''); return new RegExp(`^${pattern}$`).test(url.replace(/\/+$/, '').split('?').shift()); } /** * Hydrate and return a complete URL for this route with the given parameters. * * @param {Object} params * @return {String} */ compile(params) { if (!this.parameterSegments.length) return this.template; return this.template.replace(/{([^}?]+)\??}/g, (_, segment) => { // If the parameter is missing but is not optional, throw an error if ([null, undefined].includes(params[segment]) && this.parameterSegments.find(({ name }) => name === segment).required) { throw new Error(`Ziggy error: '${segment}' parameter is required for route '${this.name}'.`) } return encodeURIComponent(params[segment] ?? ''); }).replace(/\/+$/, ''); } }
Save
cmd:
run