Subida del módulo y tema de PrestaShop

This commit is contained in:
Kaloyan
2026-04-09 18:31:51 +02:00
parent 12c253296f
commit 16b3ff9424
39262 changed files with 7418797 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
export interface RouteDefaults {
[index: string]: string | null;
}
export interface RouteRequirements {
[index: string]: string;
}
export interface RouteParams {
[index: string]: any;
}
export interface QueryParamAddFunction {
(prefix: string, params: any): void;
}
export interface Route {
tokens: (string | boolean)[][];
defaults: undefined[] | RouteDefaults;
requirements: undefined[] | RouteRequirements;
hosttokens: string[][];
schemes: string[];
methods: string[];
}
export interface RoutesMap {
[index: string]: Route;
}
export interface Context {
base_url: string;
prefix: string;
host: string;
port: string | null;
scheme: string;
locale: string | null;
}
export interface RoutingData {
base_url: string;
routes: RoutesMap;
prefix?: string;
host: string;
port?: string | null;
scheme?: string;
locale?: string | null;
}
export declare class Router {
private context_;
private routes_;
static getInstance(): Router;
static setData(data: RoutingData): void;
constructor(context?: Context, routes?: RoutesMap);
setRoutingData(data: RoutingData): void;
setRoutes(routes: RoutesMap): void;
getRoutes(): RoutesMap;
setBaseUrl(baseUrl: string): void;
getBaseUrl(): string;
setPrefix(prefix: string): void;
setScheme(scheme: string): void;
getScheme(): string;
setHost(host: string): void;
getHost(): string;
setPort(port: string | null): void;
getPort(): string | null;
setLocale(locale: string | null): void;
getLocale(): string | null;
/**
* Builds query string params added to a URL.
* Port of jQuery's $.param() function, so credit is due there.
*/
buildQueryParams(prefix: string, params: any, add: QueryParamAddFunction): void;
/**
* Returns a raw route object.
*/
getRoute(name: string): Route;
/**
* Generates the URL for a route.
*/
generate(name: string, opt_params?: RouteParams, absolute?: boolean): string;
/**
* Returns the given string encoded to mimic Symfony URL generator.
*/
static customEncodeURIComponent(value: string): string;
/**
* Returns the given path properly encoded to mimic Symfony URL generator.
*/
static encodePathComponent(value: string): string;
/**
* Returns the given query parameter or value properly encoded to mimic Symfony URL generator.
*/
static encodeQueryComponent(value: string): string;
}
export declare const Routing: Router;
export default Routing;

View File

@@ -0,0 +1,89 @@
import { expectType } from 'tsd';
import type { RoutesMap } from '../js/router';
import { type Route, Router, Routing } from './router';
import routes from './routes.json';
expectType<Router>(Router.getInstance());
expectType<Router>(Routing);
expectType<RoutesMap>(Routing.getRoutes());
expectType<Route>(Routing.getRoute('homepage'));
expectType<string>(Routing.getBaseUrl());
Routing.setBaseUrl('');
expectType<string>(Routing.getScheme());
Routing.setScheme('https');
expectType<string>(Routing.getHost());
Routing.setHost('localhost');
expectType<string | null>(Routing.getPort());
Routing.setPort('1234');
expectType<string | null>(Routing.getLocale());
Routing.setLocale('en');
Routing.setRoutingData(routes);
Routing.setRoutingData({
base_url: '',
routes: {
homepage: { tokens: [['text', '/']], defaults: [], requirements: [], hosttokens: [], methods: [], schemes: [], },
admin_index: { tokens: [['text', '/admin']], defaults: [], requirements: [], hosttokens: [], methods: [], schemes: [], },
admin_pages: { tokens: [['text', '/admin/path']], defaults: [], requirements: [], hosttokens: [], methods: [], schemes: [], },
blog_index: { tokens: [['text', '/blog']], defaults: [], requirements: [], hosttokens: [['text', 'localhost']], methods: [], schemes: [], },
blog_post: {
tokens: [
['variable', '/', '[^/]++', 'slug'],
['text', '/blog'],
],
defaults: [],
requirements: [],
hosttokens: [['text', 'localhost']],
methods: [],
schemes: [],
},
users_delete: {
tokens: [
['text', '/delete'],
['variable', '/', '[^/]++', 'id', true],
['text', '/users']
],
defaults: [],
requirements: [],
hosttokens: [],
methods: [
'DELETE'
],
schemes: []
},
feed_post: {
tokens: [
['variable', '.', 'js|json', '_format', true],
['text', '/feed/post']
],
defaults: {
_format: 'xml',
},
requirements: {
_format: 'xml|json',
},
hosttokens: [],
methods: ['GET'],
schemes: [],
},
},
prefix: '',
host: '',
port: null,
scheme: '',
locale: 'en',
});
expectType<string>(Routing.generate('homepage'));
expectType<string>(Routing.generate('blog_post', {
slug: 'my-blog-post',
}));
expectType<string>(Routing.generate('users_delete', {
id: 123,
}));

View File

@@ -0,0 +1,33 @@
{
"base_url": "",
"routes": {
"feed_post": {
"tokens": [
[
"variable",
".",
"js|json",
"_format",
true
],
["text", "/feed/post"]
],
"defaults": {
"_format": "xml"
},
"requirements": {
"_format": "xml|json"
},
"hosttokens": [],
"methods": [
"GET"
],
"schemes": []
}
},
"prefix": "",
"host": "localhost",
"port": "",
"scheme": "https",
"locale": null
}