devstar插件
This commit is contained in:
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.js
generated
vendored
Normal file
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
var r=require("preact"),e=/["&<]/;function t(r){if(0===r.length||!1===e.test(r))return r;for(var t=0,n=0,o="",f="";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=""";break;case 38:f="&";break;case 60:f="<";break;default:continue}n!==t&&(o+=r.slice(t,n)),o+=f,t=n+1}return n!==t&&(o+=r.slice(t,n)),o}var n=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,o=0,f=Array.isArray;function u(e,t,n,f,u,i){t||(t={});var c,a,p=t;if("ref"in p)for(a in p={},t)"ref"==a?c=t[a]:p[a]=t[a];var l={type:e,props:p,key:n,ref:c,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--o,__i:-1,__u:0,__source:u,__self:i};if("function"==typeof e&&(c=e.defaultProps))for(a in c)void 0===p[a]&&(p[a]=c[a]);return r.options.vnode&&r.options.vnode(l),l}var i={},c=/[A-Z]/g;Object.defineProperty(exports,"Fragment",{enumerable:!0,get:function(){return r.Fragment}}),exports.jsx=u,exports.jsxAttr=function(e,o){if(r.options.attr){var f=r.options.attr(e,o);if("string"==typeof f)return f}if(o=function(r){return null!==r&&"object"==typeof r&&"function"==typeof r.valueOf?r.valueOf():r}(o),"ref"===e||"key"===e)return"";if("style"===e&&"object"==typeof o){var u="";for(var a in o){var p=o[a];if(null!=p&&""!==p){var l="-"==a[0]?a:i[a]||(i[a]=a.replace(c,"-$&").toLowerCase()),s=";";"number"!=typeof p||l.startsWith("--")||n.test(l)||(s="px;"),u=u+l+":"+p+s}}return e+'="'+t(u)+'"'}return null==o||!1===o||"function"==typeof o||"object"==typeof o?"":!0===o?e:e+'="'+t(""+o)+'"'},exports.jsxDEV=u,exports.jsxEscape=function r(e){if(null==e||"boolean"==typeof e||"function"==typeof e)return null;if("object"==typeof e){if(void 0===e.constructor)return e;if(f(e)){for(var n=0;n<e.length;n++)e[n]=r(e[n]);return e}}return t(""+e)},exports.jsxTemplate=function(e){var t=u(r.Fragment,{tpl:e,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t},exports.jsxs=u;
|
||||
//# sourceMappingURL=jsxRuntime.js.map
|
1
node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map
generated
vendored
Normal file
1
node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs
generated
vendored
Normal file
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import{options as r,Fragment as e}from"preact";export{Fragment}from"preact";var t=/["&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o="",f="";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=""";break;case 38:f="&";break;case 60:f="<";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if("ref"in p)for(c in p={},t)"ref"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if("function"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if("string"==typeof f)return f}if(t=function(r){return null!==r&&"object"==typeof r&&"function"==typeof r.valueOf?r.valueOf():r}(t),"ref"===e||"key"===e)return"";if("style"===e&&"object"==typeof t){var i="";for(var u in t){var a=t[u];if(null!=a&&""!==a){var l="-"==u[0]?u:c[u]||(c[u]=u.replace(p,"-$&").toLowerCase()),s=";";"number"!=typeof a||l.startsWith("--")||o.test(l)||(s="px;"),i=i+l+":"+a+s}}return e+'="'+n(i)+'"'}return null==t||!1===t||"function"==typeof t||"object"==typeof t?"":!0===t?e:e+'="'+n(""+t)+'"'}function s(r){if(null==r||"boolean"==typeof r||"function"==typeof r)return null;if("object"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(""+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};
|
||||
//# sourceMappingURL=jsxRuntime.module.js.map
|
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
generated
vendored
Normal file
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import{options as r,Fragment as e}from"preact";export{Fragment}from"preact";var t=/["&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o="",f="";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=""";break;case 38:f="&";break;case 60:f="<";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if("ref"in p)for(c in p={},t)"ref"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if("function"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if("string"==typeof f)return f}if(t=function(r){return null!==r&&"object"==typeof r&&"function"==typeof r.valueOf?r.valueOf():r}(t),"ref"===e||"key"===e)return"";if("style"===e&&"object"==typeof t){var i="";for(var u in t){var a=t[u];if(null!=a&&""!==a){var l="-"==u[0]?u:c[u]||(c[u]=u.replace(p,"-$&").toLowerCase()),s=";";"number"!=typeof a||l.startsWith("--")||o.test(l)||(s="px;"),i=i+l+":"+a+s}}return e+'="'+n(i)+'"'}return null==t||!1===t||"function"==typeof t||"object"==typeof t?"":!0===t?e:e+'="'+n(""+t)+'"'}function s(r){if(null==r||"boolean"==typeof r||"function"==typeof r)return null;if("object"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(""+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};
|
||||
//# sourceMappingURL=jsxRuntime.module.js.map
|
1
node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map
generated
vendored
Normal file
1
node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js
generated
vendored
Normal file
2
node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("preact")):"function"==typeof define&&define.amd?define(["exports","preact"],r):r((e||self).jsxRuntime={},e.preact)}(this,function(e,r){var n=/["&<]/;function t(e){if(0===e.length||!1===n.test(e))return e;for(var r=0,t=0,o="",f="";t<e.length;t++){switch(e.charCodeAt(t)){case 34:f=""";break;case 38:f="&";break;case 60:f="<";break;default:continue}t!==r&&(o+=e.slice(r,t)),o+=f,r=t+1}return t!==r&&(o+=e.slice(r,t)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,n,t,o,i,u){n||(n={});var c,a,l=n;if("ref"in l)for(a in l={},n)"ref"==a?c=n[a]:l[a]=n[a];var p={type:e,props:l,key:t,ref:c,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if("function"==typeof e&&(c=e.defaultProps))for(a in c)void 0===l[a]&&(l[a]=c[a]);return r.options.vnode&&r.options.vnode(p),p}var c={},a=/[A-Z]/g;Object.defineProperty(e,"Fragment",{enumerable:!0,get:function(){return r.Fragment}}),e.jsx=u,e.jsxAttr=function(e,n){if(r.options.attr){var f=r.options.attr(e,n);if("string"==typeof f)return f}if(n=function(e){return null!==e&&"object"==typeof e&&"function"==typeof e.valueOf?e.valueOf():e}(n),"ref"===e||"key"===e)return"";if("style"===e&&"object"==typeof n){var i="";for(var u in n){var l=n[u];if(null!=l&&""!==l){var p="-"==u[0]?u:c[u]||(c[u]=u.replace(a,"-$&").toLowerCase()),s=";";"number"!=typeof l||p.startsWith("--")||o.test(p)||(s="px;"),i=i+p+":"+l+s}}return e+'="'+t(i)+'"'}return null==n||!1===n||"function"==typeof n||"object"==typeof n?"":!0===n?e:e+'="'+t(""+n)+'"'},e.jsxDEV=u,e.jsxEscape=function e(r){if(null==r||"boolean"==typeof r||"function"==typeof r)return null;if("object"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var n=0;n<r.length;n++)r[n]=e(r[n]);return r}}return t(""+r)},e.jsxTemplate=function(e){var n=u(r.Fragment,{tpl:e,exprs:[].slice.call(arguments,1)});return n.key=n.__v,n},e.jsxs=u});
|
||||
//# sourceMappingURL=jsxRuntime.umd.js.map
|
1
node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map
generated
vendored
Normal file
1
node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
28
node_modules/preact/jsx-runtime/package.json
generated
vendored
Normal file
28
node_modules/preact/jsx-runtime/package.json
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"name": "jsx-runtime",
|
||||
"amdName": "jsxRuntime",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"description": "Preact JSX runtime",
|
||||
"main": "dist/jsxRuntime.js",
|
||||
"module": "dist/jsxRuntime.module.js",
|
||||
"umd:main": "dist/jsxRuntime.umd.js",
|
||||
"source": "src/index.js",
|
||||
"types": "src/index.d.ts",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"preact": "^10.0.0"
|
||||
},
|
||||
"mangle": {
|
||||
"regex": "^_"
|
||||
},
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./src/index.d.ts",
|
||||
"browser": "./dist/jsxRuntime.module.js",
|
||||
"umd": "./dist/jsxRuntime.umd.js",
|
||||
"import": "./dist/jsxRuntime.mjs",
|
||||
"require": "./dist/jsxRuntime.js"
|
||||
}
|
||||
}
|
||||
}
|
62
node_modules/preact/jsx-runtime/src/index.d.ts
generated
vendored
Normal file
62
node_modules/preact/jsx-runtime/src/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
// Intentionally not using a relative path to take advantage of
|
||||
// the TS version resolution mechanism
|
||||
export { Fragment } from 'preact';
|
||||
import {
|
||||
ComponentType,
|
||||
ComponentChild,
|
||||
ComponentChildren,
|
||||
VNode,
|
||||
Attributes
|
||||
} from 'preact';
|
||||
import { JSXInternal } from '../../src/jsx';
|
||||
|
||||
export function jsx(
|
||||
type: string,
|
||||
props: JSXInternal.HTMLAttributes &
|
||||
JSXInternal.SVGAttributes &
|
||||
Record<string, any> & { children?: ComponentChild },
|
||||
key?: string
|
||||
): VNode<any>;
|
||||
export function jsx<P>(
|
||||
type: ComponentType<P>,
|
||||
props: Attributes & P & { children?: ComponentChild },
|
||||
key?: string
|
||||
): VNode<any>;
|
||||
|
||||
export function jsxs(
|
||||
type: string,
|
||||
props: JSXInternal.HTMLAttributes &
|
||||
JSXInternal.SVGAttributes &
|
||||
Record<string, any> & { children?: ComponentChild[] },
|
||||
key?: string
|
||||
): VNode<any>;
|
||||
export function jsxs<P>(
|
||||
type: ComponentType<P>,
|
||||
props: Attributes & P & { children?: ComponentChild[] },
|
||||
key?: string
|
||||
): VNode<any>;
|
||||
|
||||
export function jsxDEV(
|
||||
type: string,
|
||||
props: JSXInternal.HTMLAttributes &
|
||||
JSXInternal.SVGAttributes &
|
||||
Record<string, any> & { children?: ComponentChildren },
|
||||
key?: string
|
||||
): VNode<any>;
|
||||
export function jsxDEV<P>(
|
||||
type: ComponentType<P>,
|
||||
props: Attributes & P & { children?: ComponentChildren },
|
||||
key?: string
|
||||
): VNode<any>;
|
||||
|
||||
// These are not expected to be used manually, but by a JSX transform
|
||||
export function jsxTemplate(
|
||||
template: string[],
|
||||
...expressions: any[]
|
||||
): VNode<any>;
|
||||
export function jsxAttr(name: string, value: any): string | null;
|
||||
export function jsxEscape<T>(
|
||||
value: T
|
||||
): string | null | VNode<any> | Array<string | null | VNode>;
|
||||
|
||||
export { JSXInternal as JSX };
|
206
node_modules/preact/jsx-runtime/src/index.js
generated
vendored
Normal file
206
node_modules/preact/jsx-runtime/src/index.js
generated
vendored
Normal file
@@ -0,0 +1,206 @@
|
||||
import { options, Fragment } from 'preact';
|
||||
import { encodeEntities } from './utils';
|
||||
import { IS_NON_DIMENSIONAL } from '../../src/constants';
|
||||
|
||||
let vnodeId = 0;
|
||||
|
||||
const isArray = Array.isArray;
|
||||
|
||||
/**
|
||||
* @fileoverview
|
||||
* This file exports various methods that implement Babel's "automatic" JSX runtime API:
|
||||
* - jsx(type, props, key)
|
||||
* - jsxs(type, props, key)
|
||||
* - jsxDEV(type, props, key, __source, __self)
|
||||
*
|
||||
* The implementation of createVNode here is optimized for performance.
|
||||
* Benchmarks: https://esbench.com/bench/5f6b54a0b4632100a7dcd2b3
|
||||
*/
|
||||
|
||||
/**
|
||||
* JSX.Element factory used by Babel's {runtime:"automatic"} JSX transform
|
||||
* @param {VNode['type']} type
|
||||
* @param {VNode['props']} props
|
||||
* @param {VNode['key']} [key]
|
||||
* @param {unknown} [isStaticChildren]
|
||||
* @param {unknown} [__source]
|
||||
* @param {unknown} [__self]
|
||||
*/
|
||||
function createVNode(type, props, key, isStaticChildren, __source, __self) {
|
||||
if (!props) props = {};
|
||||
// We'll want to preserve `ref` in props to get rid of the need for
|
||||
// forwardRef components in the future, but that should happen via
|
||||
// a separate PR.
|
||||
let normalizedProps = props,
|
||||
ref,
|
||||
i;
|
||||
|
||||
if ('ref' in normalizedProps) {
|
||||
normalizedProps = {};
|
||||
for (i in props) {
|
||||
if (i == 'ref') {
|
||||
ref = props[i];
|
||||
} else {
|
||||
normalizedProps[i] = props[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** @type {VNode & { __source: any; __self: any }} */
|
||||
const vnode = {
|
||||
type,
|
||||
props: normalizedProps,
|
||||
key,
|
||||
ref,
|
||||
_children: null,
|
||||
_parent: null,
|
||||
_depth: 0,
|
||||
_dom: null,
|
||||
_component: null,
|
||||
constructor: undefined,
|
||||
_original: --vnodeId,
|
||||
_index: -1,
|
||||
_flags: 0,
|
||||
__source,
|
||||
__self
|
||||
};
|
||||
|
||||
// If a Component VNode, check for and apply defaultProps.
|
||||
// Note: `type` is often a String, and can be `undefined` in development.
|
||||
if (typeof type === 'function' && (ref = type.defaultProps)) {
|
||||
for (i in ref)
|
||||
if (normalizedProps[i] === undefined) {
|
||||
normalizedProps[i] = ref[i];
|
||||
}
|
||||
}
|
||||
|
||||
if (options.vnode) options.vnode(vnode);
|
||||
return vnode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a template vnode. This function is not expected to be
|
||||
* used directly, but rather through a precompile JSX transform
|
||||
* @param {string[]} templates
|
||||
* @param {Array<string | null | VNode>} exprs
|
||||
* @returns {VNode}
|
||||
*/
|
||||
function jsxTemplate(templates, ...exprs) {
|
||||
const vnode = createVNode(Fragment, { tpl: templates, exprs });
|
||||
// Bypass render to string top level Fragment optimization
|
||||
vnode.key = vnode._vnode;
|
||||
return vnode;
|
||||
}
|
||||
|
||||
const JS_TO_CSS = {};
|
||||
const CSS_REGEX = /[A-Z]/g;
|
||||
|
||||
/**
|
||||
* Unwrap potential signals.
|
||||
* @param {*} value
|
||||
* @returns {*}
|
||||
*/
|
||||
function normalizeAttrValue(value) {
|
||||
return value !== null &&
|
||||
typeof value === 'object' &&
|
||||
typeof value.valueOf === 'function'
|
||||
? value.valueOf()
|
||||
: value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize an HTML attribute to a string. This function is not
|
||||
* expected to be used directly, but rather through a precompile
|
||||
* JSX transform
|
||||
* @param {string} name The attribute name
|
||||
* @param {*} value The attribute value
|
||||
* @returns {string}
|
||||
*/
|
||||
function jsxAttr(name, value) {
|
||||
if (options.attr) {
|
||||
const result = options.attr(name, value);
|
||||
if (typeof result === 'string') return result;
|
||||
}
|
||||
|
||||
value = normalizeAttrValue(value);
|
||||
|
||||
if (name === 'ref' || name === 'key') return '';
|
||||
if (name === 'style' && typeof value === 'object') {
|
||||
let str = '';
|
||||
for (let prop in value) {
|
||||
let val = value[prop];
|
||||
if (val != null && val !== '') {
|
||||
const name =
|
||||
prop[0] == '-'
|
||||
? prop
|
||||
: JS_TO_CSS[prop] ||
|
||||
(JS_TO_CSS[prop] = prop.replace(CSS_REGEX, '-$&').toLowerCase());
|
||||
|
||||
let suffix = ';';
|
||||
if (
|
||||
typeof val === 'number' &&
|
||||
// Exclude custom-attributes
|
||||
!name.startsWith('--') &&
|
||||
!IS_NON_DIMENSIONAL.test(name)
|
||||
) {
|
||||
suffix = 'px;';
|
||||
}
|
||||
str = str + name + ':' + val + suffix;
|
||||
}
|
||||
}
|
||||
return name + '="' + encodeEntities(str) + '"';
|
||||
}
|
||||
|
||||
if (
|
||||
value == null ||
|
||||
value === false ||
|
||||
typeof value === 'function' ||
|
||||
typeof value === 'object'
|
||||
) {
|
||||
return '';
|
||||
} else if (value === true) return name;
|
||||
|
||||
return name + '="' + encodeEntities('' + value) + '"';
|
||||
}
|
||||
|
||||
/**
|
||||
* Escape a dynamic child passed to `jsxTemplate`. This function
|
||||
* is not expected to be used directly, but rather through a
|
||||
* precompile JSX transform
|
||||
* @param {*} value
|
||||
* @returns {string | null | VNode | Array<string | null | VNode>}
|
||||
*/
|
||||
function jsxEscape(value) {
|
||||
if (
|
||||
value == null ||
|
||||
typeof value === 'boolean' ||
|
||||
typeof value === 'function'
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (typeof value === 'object') {
|
||||
// Check for VNode
|
||||
if (value.constructor === undefined) return value;
|
||||
|
||||
if (isArray(value)) {
|
||||
for (let i = 0; i < value.length; i++) {
|
||||
value[i] = jsxEscape(value[i]);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
return encodeEntities('' + value);
|
||||
}
|
||||
|
||||
export {
|
||||
createVNode as jsx,
|
||||
createVNode as jsxs,
|
||||
createVNode as jsxDEV,
|
||||
Fragment,
|
||||
// precompiled JSX transform
|
||||
jsxTemplate,
|
||||
jsxAttr,
|
||||
jsxEscape
|
||||
};
|
36
node_modules/preact/jsx-runtime/src/utils.js
generated
vendored
Normal file
36
node_modules/preact/jsx-runtime/src/utils.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
const ENCODED_ENTITIES = /["&<]/;
|
||||
|
||||
/** @param {string} str */
|
||||
export function encodeEntities(str) {
|
||||
// Skip all work for strings with no entities needing encoding:
|
||||
if (str.length === 0 || ENCODED_ENTITIES.test(str) === false) return str;
|
||||
|
||||
let last = 0,
|
||||
i = 0,
|
||||
out = '',
|
||||
ch = '';
|
||||
|
||||
// Seek forward in str until the next entity char:
|
||||
for (; i < str.length; i++) {
|
||||
switch (str.charCodeAt(i)) {
|
||||
case 34:
|
||||
ch = '"';
|
||||
break;
|
||||
case 38:
|
||||
ch = '&';
|
||||
break;
|
||||
case 60:
|
||||
ch = '<';
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
// Append skipped/buffered characters and the encoded entity:
|
||||
if (i !== last) out += str.slice(last, i);
|
||||
out += ch;
|
||||
// Start the next seek/buffer after the entity's offset:
|
||||
last = i + 1;
|
||||
}
|
||||
if (i !== last) out += str.slice(last, i);
|
||||
return out;
|
||||
}
|
Reference in New Issue
Block a user