@burger-editor/frozen-patty
Advanced tools
Comparing version 0.9.0 to 0.10.0
@@ -30,3 +30,3 @@ "use strict"; | ||
var newData = Object.assign(currentData, data); | ||
this._dom = set_1.default(this._dom, newData, this._attr, this._filter); | ||
this._dom = (0, set_1.default)(this._dom, newData, this._attr, this._filter); | ||
return this; | ||
@@ -37,3 +37,3 @@ }; | ||
var filter = filtering ? this._filter : undefined; | ||
return get_1.default(this._dom, this._attr, this._typeConvert, filter); | ||
return (0, get_1.default)(this._dom, this._attr, this._typeConvert, filter); | ||
}; | ||
@@ -40,0 +40,0 @@ FrozenPatty.prototype.toHTML = function () { |
import './polyfill'; | ||
import { Filter, FrozenPattyData } from './frozen-patty'; | ||
import type { Filter, FrozenPattyData } from './frozen-patty'; | ||
export default function (el: Element, attr: string, typeConvert: boolean, filter?: Filter): FrozenPattyData; | ||
//# sourceMappingURL=get.d.ts.map |
@@ -10,9 +10,9 @@ "use strict"; | ||
function default_1(el, attr, typeConvert, filter) { | ||
var filedElements = el.querySelectorAll("[data-" + attr + "]"); | ||
var filedElements = el.querySelectorAll("[data-".concat(attr, "]")); | ||
var values = []; | ||
for (var _i = 0, _a = Array.from(filedElements); _i < _a.length; _i++) { | ||
var _el = _a[_i]; | ||
values = values.concat(getValue_1.default(_el, attr, typeConvert, filter)); | ||
values = values.concat((0, getValue_1.default)(_el, attr, typeConvert, filter)); | ||
} | ||
var result = util_1.arrayToHash(values); | ||
var result = (0, util_1.arrayToHash)(values); | ||
return result; | ||
@@ -19,0 +19,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { Filter, PrimitiveDatum } from './frozen-patty'; | ||
import type { Filter, PrimitiveDatum } from './frozen-patty'; | ||
/** | ||
@@ -3,0 +3,0 @@ * Get value from an element |
@@ -15,9 +15,9 @@ "use strict"; | ||
var result = []; | ||
var rawValue = el.getAttribute("data-" + attr); | ||
var listRoot = el.closest("[data-" + attr + "-list]"); | ||
var rawValue = el.getAttribute("data-".concat(attr)); | ||
var listRoot = el.closest("[data-".concat(attr, "-list]")); | ||
var forceArray = !!listRoot; | ||
if (rawValue == null) { | ||
throw new Error("data-" + attr + " attriblute is empty."); | ||
throw new Error("data-".concat(attr, " attriblute is empty.")); | ||
} | ||
var fieldList = ("" + rawValue).split(/\s*,\s*/); | ||
var fieldList = "".concat(rawValue).split(/\s*,\s*/); | ||
// console.log({fieldList, el: el.innerHTML}); | ||
@@ -62,6 +62,6 @@ for (var _i = 0, fieldList_1 = fieldList; _i < fieldList_1.length; _i++) { | ||
if (Array.isArray(val)) { | ||
value = val[0]; | ||
value = cast(val[0]); | ||
} | ||
else { | ||
value = val || ''; | ||
value = cast(val); | ||
} | ||
@@ -112,26 +112,26 @@ } | ||
if (typeConvert) { | ||
switch (value) { | ||
case 'true': | ||
return true; | ||
case 'false': | ||
return false; | ||
} | ||
var numeric = parseFloat(value); | ||
if (isFinite(numeric)) { | ||
return numeric; | ||
} | ||
else { | ||
return value; | ||
} | ||
return cast(value); | ||
} | ||
else { | ||
return value; | ||
} | ||
return value; | ||
} | ||
else { | ||
return el.getAttribute(keyAttr) || ''; | ||
} | ||
return el.getAttribute(keyAttr) || ''; | ||
} | ||
} | ||
} | ||
function cast(value) { | ||
if (value == null || value === '') { | ||
return ''; | ||
} | ||
switch (value) { | ||
case 'true': | ||
return true; | ||
case 'false': | ||
return false; | ||
} | ||
var numeric = Number(value); | ||
if (isFinite(numeric)) { | ||
return numeric; | ||
} | ||
return value; | ||
} | ||
/** | ||
@@ -142,5 +142,5 @@ * Get path from value of "background-image" | ||
function getBackgroundImagePath(value) { | ||
var origin = location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : ''); | ||
var origin = "".concat(location.protocol, "//").concat(location.hostname).concat(location.port ? ":".concat(location.port) : ''); | ||
return decodeURI(value.replace(/^url\(["']?([^"']+)["']?\)$/i, '$1').replace(origin, '')); | ||
} | ||
//# sourceMappingURL=getValue.js.map |
@@ -1,2 +0,3 @@ | ||
import FrozenPatty, { Filter, FrozenPattyOptions, PrimitiveDatum } from './frozen-patty'; | ||
import type { Filter, FrozenPattyOptions, PrimitiveDatum } from './frozen-patty'; | ||
import FrozenPatty from './frozen-patty'; | ||
/** | ||
@@ -31,5 +32,5 @@ * Pure HTML to JSON converter that not use template engine. | ||
*/ | ||
function getValue(el: Element, name: string, typeConvert?: boolean, attr?: string, filter?: Filter): import("./frozen-patty").PrimitiveData; | ||
function getValue(el: Element, name: string, typeConvert?: boolean, attr?: string, filter?: Filter): PrimitiveDatum | PrimitiveDatum[]; | ||
} | ||
export default frozenPatty; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -19,2 +19,3 @@ "use strict"; | ||
} | ||
// eslint-disable-next-line @typescript-eslint/no-namespace, no-redeclare | ||
(function (frozenPatty) { | ||
@@ -35,3 +36,3 @@ /** | ||
if (attr === void 0) { attr = 'field'; } | ||
return setValue_1.default(name, datum, el, attr, filter); | ||
return (0, setValue_1.default)(name, datum, el, attr, filter); | ||
} | ||
@@ -50,3 +51,3 @@ frozenPatty.setValue = setValue; | ||
if (attr === void 0) { attr = 'field'; } | ||
var data = util_1.arrayToHash(getValue_1.default(el, attr, typeConvert, filter)); | ||
var data = (0, util_1.arrayToHash)((0, getValue_1.default)(el, attr, typeConvert, filter)); | ||
return data[name]; | ||
@@ -53,0 +54,0 @@ } |
import './polyfill'; | ||
import { Filter, FrozenPattyData } from './frozen-patty'; | ||
export default function (el: Element, data: FrozenPattyData, attr: string, typeConvert?: boolean, filter?: Filter): Element; | ||
import type { Filter, FrozenPattyData } from './frozen-patty'; | ||
export default function (el: Element, data: FrozenPattyData, attr: string, filter?: Filter): Element; | ||
//# sourceMappingURL=set.d.ts.map |
@@ -11,5 +11,5 @@ "use strict"; | ||
var _loop_1 = function (dataKeyName) { | ||
if (data.hasOwnProperty(dataKeyName)) { | ||
if (dataKeyName in data) { | ||
var datum_1 = data[dataKeyName]; | ||
var selector = "[data-" + attr + "*=\"" + dataKeyName + "\"]"; | ||
var selector = "[data-".concat(attr, "*=\"").concat(dataKeyName, "\"]"); | ||
var targetList = el.querySelectorAll(selector); | ||
@@ -21,3 +21,3 @@ if (Array.isArray(datum_1)) { | ||
} | ||
var listRoot = targetEl.closest("[data-" + attr + "-list]"); | ||
var listRoot = targetEl.closest("[data-".concat(attr, "-list]")); | ||
if (!listRoot || (listRoot && !listRoot.children.length)) { | ||
@@ -35,7 +35,7 @@ return "continue"; | ||
if (datum_1[i] != null) { | ||
setValue_1.default(dataKeyName, datum_1[i], child, attr, filter); | ||
(0, setValue_1.default)(dataKeyName, datum_1[i], child, attr, filter); | ||
deleteNodeList_1 = []; | ||
} | ||
else { | ||
setValue_1.default(dataKeyName, '', child, attr, filter); | ||
(0, setValue_1.default)(dataKeyName, '', child, attr, filter); | ||
deleteNodeList_1.push(oldChildList_1[i]); | ||
@@ -48,3 +48,3 @@ } | ||
Array.from(targetList).forEach(function (targetEl, i) { | ||
setValue_1.default(dataKeyName, datum_1, targetEl, attr, filter); | ||
(0, setValue_1.default)(dataKeyName, datum_1, targetEl, attr, filter); | ||
}); | ||
@@ -51,0 +51,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { Filter, FrozenPattyData, PrimitiveDatum } from './frozen-patty'; | ||
import type { Filter, FrozenPattyData, PrimitiveDatum } from './frozen-patty'; | ||
/** | ||
@@ -3,0 +3,0 @@ * Set value to an element |
"use strict"; | ||
// tslint:disable:max-file-line-count | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -17,4 +16,3 @@ /** | ||
function default_1(name, datum, el, attr, filter) { | ||
var nodeName = el.nodeName.toLowerCase(); | ||
var bindingFormats = el.getAttribute("data-" + attr) || ''; | ||
var bindingFormats = el.getAttribute("data-".concat(attr)) || ''; | ||
for (var _i = 0, _a = bindingFormats.split(/\s*,\s*/); _i < _a.length; _i++) { | ||
@@ -75,4 +73,4 @@ var bindingFormat = _a[_i]; | ||
// urlはマルチバイト文字や空白記号を含まないはずであるがエスケープする | ||
var url = encodeURI("" + datum); | ||
cssValue = "url(" + url + ")"; | ||
var url = encodeURI("".concat(datum)); | ||
cssValue = "url(".concat(url, ")"); | ||
break; | ||
@@ -84,6 +82,6 @@ } | ||
default: { | ||
cssValue = "" + datum; | ||
cssValue = "".concat(datum); | ||
} | ||
} | ||
el.setAttribute('style', cssPropertyName + ": " + cssValue); | ||
el.setAttribute('style', "".concat(cssPropertyName, ": ").concat(cssValue)); | ||
// | ||
@@ -98,3 +96,3 @@ // 属性 | ||
// SVGElement or more | ||
el.setAttribute(targetAttr, "" + datum); | ||
el.setAttribute(targetAttr, "".concat(datum)); | ||
} | ||
@@ -109,6 +107,6 @@ // | ||
el instanceof HTMLTextAreaElement) { | ||
el.value = "" + datum; | ||
el.value = "".concat(datum); | ||
} | ||
else { | ||
el.innerHTML = "" + datum; | ||
el.innerHTML = "".concat(datum); | ||
} | ||
@@ -210,3 +208,3 @@ } | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -217,6 +215,6 @@ break; | ||
if (el instanceof HTMLInputElement || el instanceof HTMLFormElement) { | ||
el.autocomplete = datum ? "" + datum : 'off'; | ||
el.autocomplete = datum ? "".concat(datum) : 'off'; | ||
} | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -233,3 +231,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -243,3 +241,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -253,3 +251,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -269,3 +267,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -285,3 +283,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -295,3 +293,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -305,3 +303,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -315,3 +313,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -331,3 +329,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -339,3 +337,3 @@ break; | ||
if (datum || datum === '') { | ||
el.download = "" + datum; | ||
el.download = "".concat(datum); | ||
} | ||
@@ -347,3 +345,3 @@ else { | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -363,3 +361,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -373,3 +371,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -383,3 +381,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -399,3 +397,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -417,3 +415,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -433,3 +431,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -449,3 +447,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -459,3 +457,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -469,3 +467,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -494,3 +492,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -501,6 +499,16 @@ break; | ||
if (el instanceof HTMLAudioElement || el instanceof HTMLVideoElement) { | ||
el.preload = datum === '' ? 'auto' : datum ? "" + datum : 'none'; | ||
switch (datum) { | ||
case '': | ||
case 'auto': | ||
case 'metadata': { | ||
el.preload = datum; | ||
break; | ||
} | ||
default: { | ||
el.preload = 'none'; | ||
} | ||
} | ||
} | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -514,3 +522,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -526,3 +534,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -537,3 +545,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -553,3 +561,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -569,3 +577,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -585,3 +593,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -601,3 +609,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -617,3 +625,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -637,3 +645,3 @@ break; | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -647,3 +655,3 @@ break; | ||
if (datum) { | ||
el.target = "" + datum; | ||
el.target = "".concat(datum); | ||
} | ||
@@ -655,57 +663,57 @@ else { | ||
else { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
break; | ||
} | ||
case 'accesskey': | ||
case 'class': | ||
case 'contextmenu': | ||
case 'dropzone': // breakable support | ||
case 'id': | ||
case 'itemid': | ||
case 'itemprop': | ||
case 'itemref': | ||
case 'itemscope': | ||
case 'itemtype': | ||
case 'lang': | ||
case 'slot': // breakable support | ||
case 'style': | ||
case 'title': | ||
case 'translate': // breakable support | ||
case 'accept': | ||
case 'accept-charset': | ||
case 'action': | ||
case 'align': | ||
case 'alt': | ||
case 'cite': | ||
case 'coords': | ||
case 'datetime': | ||
case 'enctype': | ||
case 'for': | ||
case 'headers': | ||
case 'href': | ||
case 'hreflang': | ||
case 'kind': | ||
case 'label': | ||
case 'list': | ||
case 'media': | ||
case 'method': | ||
case 'name': | ||
case 'pattern': | ||
case 'placeholder': | ||
case 'poster': | ||
case 'pubdate': | ||
case 'rel': | ||
case 'sandbox': | ||
case 'src': | ||
case 'srcdoc': | ||
case 'srclang': | ||
case 'summary': | ||
case 'type': | ||
case 'usemap': | ||
case 'value': | ||
case 'wrap': | ||
// case 'accesskey': | ||
// case 'class': | ||
// case 'contextmenu': | ||
// case 'dropzone': // breakable support | ||
// case 'id': | ||
// case 'itemid': | ||
// case 'itemprop': | ||
// case 'itemref': | ||
// case 'itemscope': | ||
// case 'itemtype': | ||
// case 'lang': | ||
// case 'slot': // breakable support | ||
// case 'style': | ||
// case 'title': | ||
// case 'translate': // breakable support | ||
// case 'accept': | ||
// case 'accept-charset': | ||
// case 'action': | ||
// case 'align': | ||
// case 'alt': | ||
// case 'cite': | ||
// case 'coords': | ||
// case 'datetime': | ||
// case 'enctype': | ||
// case 'for': | ||
// case 'headers': | ||
// case 'href': | ||
// case 'hreflang': | ||
// case 'kind': | ||
// case 'label': | ||
// case 'list': | ||
// case 'media': | ||
// case 'method': | ||
// case 'name': | ||
// case 'pattern': | ||
// case 'placeholder': | ||
// case 'poster': | ||
// case 'pubdate': | ||
// case 'rel': | ||
// case 'sandbox': | ||
// case 'src': | ||
// case 'srcdoc': | ||
// case 'srclang': | ||
// case 'summary': | ||
// case 'type': | ||
// case 'usemap': | ||
// case 'value': | ||
// case 'wrap': | ||
// and Data-* attributes | ||
default: { | ||
el.setAttribute(attr, "" + datum); | ||
el.setAttribute(attr, "".concat(datum)); | ||
} | ||
@@ -712,0 +720,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { FrozenPattyData, PrimitiveDatum } from './frozen-patty'; | ||
import type { FrozenPattyData, PrimitiveDatum } from './frozen-patty'; | ||
/** | ||
@@ -6,4 +6,4 @@ * | ||
export declare function arrayToHash(kvs: [keyof FrozenPattyData, PrimitiveDatum, boolean][]): { | ||
[index: string]: import("./frozen-patty").PrimitiveData; | ||
[index: string]: PrimitiveDatum | PrimitiveDatum[]; | ||
}; | ||
//# sourceMappingURL=util.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.arrayToHash = void 0; | ||
/** | ||
@@ -4,0 +5,0 @@ * |
{ | ||
"name": "@burger-editor/frozen-patty", | ||
"version": "0.9.0", | ||
"version": "0.10.0", | ||
"description": "Pure HTML to JSON converter that not use template engine.", | ||
@@ -10,2 +10,6 @@ "main": "lib/index.js", | ||
"private": false, | ||
"files": [ | ||
"lib", | ||
"!lib/*.test.*" | ||
], | ||
"repository": { | ||
@@ -17,24 +21,31 @@ "url": "git@github.com:YusukeHirao/frozen-patty.git" | ||
"dev": "tsc --watch", | ||
"test": "nyc ava && nyc report --reporter=html", | ||
"coveralls": "nyc ava && nyc report --reporter=text-lcov | coveralls" | ||
"test": "jest --coverage", | ||
"coveralls": "jest --useStderr --coverage && cat ./coverage/lcov.info | coveralls", | ||
"lint": "eslint --fix ./src/**/*" | ||
}, | ||
"ava": { | ||
"require": [ | ||
"./helper/setup-browser-env.js" | ||
"jest": { | ||
"roots": [ | ||
"<rootDir>/src/" | ||
], | ||
"preset": "ts-jest", | ||
"testEnvironment": "jsdom", | ||
"testEnvironmentOptions": { | ||
"url": "https://www.d-zero.co.jp" | ||
}, | ||
"collectCoverageFrom": [ | ||
"src/**/*.ts" | ||
] | ||
}, | ||
"devDependencies": { | ||
"ava": "^0.25.0", | ||
"browser-env": "^3.2.6", | ||
"coveralls": "^3.0.5", | ||
"eslint": "^6.1.0", | ||
"eslint-plugin-prettier": "3.1.0", | ||
"nyc": "^14.1.1", | ||
"prettier": "^1.18.2", | ||
"prettier-eslint": "9.0.0", | ||
"tslint": "^5.18.0", | ||
"tslint-config-prettier": "^1.18.0", | ||
"tslint-plugin-prettier": "^2.0.1", | ||
"typescript": "^3.5.3" | ||
"@types/jest": "^28.1.1", | ||
"@typescript-eslint/eslint-plugin": "^5.27.1", | ||
"@typescript-eslint/parser": "^5.27.1", | ||
"coveralls": "^3.1.1", | ||
"eslint": "^8.17.0", | ||
"jest": "^28.1.1", | ||
"jest-environment-jsdom": "^28.1.1", | ||
"prettier": "^2.6.2", | ||
"ts-jest": "^28.0.4", | ||
"typescript": "^4.7.3" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
10
35
1180
70665