@burger-editor/frozen-patty 0.7.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,3 +48,4 @@ export interface FrozenPattyData {
48
48
  export declare type PrimitiveDatum = string | number | boolean | null | undefined;
49
49
  export declare type PrimitiveData = PrimitiveDatum | PrimitiveDatum[];
50
50
  export declare type Filter = <T>(value: T) => T;
51
+ //# sourceMappingURL=frozen-patty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frozen-patty.d.ts","sourceRoot":"","sources":["../src/frozen-patty.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,YAAY,CAAS;IAE7B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB;;;;OAIG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAY/C,KAAK,CAAC,IAAI,EAAE,eAAe;IAO3B,MAAM,CAAC,SAAS,UAAO,GAAG,eAAe;IAKzC,MAAM,IAAI,MAAM;IAIhB,KAAK,IAAI,OAAO;CAGvB;AAED,MAAM,WAAW,kBAAkB;IAClC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IAEH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC/B,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CAC/B;AAED,oBAAY,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E,oBAAY,aAAa,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;AAE9D,oBAAY,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC"}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var get_1 = require("./get");
4
- var set_1 = require("./set");
6
+ var get_1 = __importDefault(require("./get"));
7
+ var set_1 = __importDefault(require("./set"));
5
8
  var FrozenPatty = /** @class */ (function () {
6
9
  /**
7
10
  *
@@ -24,13 +27,13 @@ var FrozenPatty = /** @class */ (function () {
24
27
  FrozenPatty.prototype.merge = function (data) {
25
28
  var currentData = this.toJSON(false);
26
29
  var newData = Object.assign(currentData, data);
27
- this._dom = set_1.default(this._dom, newData, this._attr, this._typeConvert, this._filter);
30
+ this._dom = (0, set_1.default)(this._dom, newData, this._attr, this._filter);
28
31
  return this;
29
32
  };
30
33
  FrozenPatty.prototype.toJSON = function (filtering) {
31
34
  if (filtering === void 0) { filtering = true; }
32
35
  var filter = filtering ? this._filter : undefined;
33
- return get_1.default(this._dom, this._attr, this._typeConvert, filter);
36
+ return (0, get_1.default)(this._dom, this._attr, this._typeConvert, filter);
34
37
  };
35
38
  FrozenPatty.prototype.toHTML = function () {
36
39
  return this._dom.innerHTML;
@@ -41,3 +44,4 @@ var FrozenPatty = /** @class */ (function () {
41
44
  return FrozenPatty;
42
45
  }());
43
46
  exports.default = FrozenPatty;
47
+ //# sourceMappingURL=frozen-patty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frozen-patty.js","sourceRoot":"","sources":["../src/frozen-patty.ts"],"names":[],"mappings":";;;;;AAAA,8CAAwB;AACxB,8CAAwB;AAExB;IAUC;;;;OAIG;IACH,qBAAY,IAAY,EAAE,OAA4B;QAb9C,UAAK,GAAG,OAAO,CAAC;QAChB,iBAAY,GAAG,KAAK,CAAC;QAa5B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC3B,IAAI,OAAO,EAAE;YACZ,IAAI,OAAO,CAAC,IAAI,EAAE;gBACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;aAC1B;YACD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;SACnC;IACF,CAAC;IAEM,2BAAK,GAAZ,UAAa,IAAqB;QACjC,IAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,4BAAM,GAAb,UAAc,SAAgB;QAAhB,0BAAA,EAAA,gBAAgB;QAC7B,IAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,OAAO,IAAA,aAAG,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,4BAAM,GAAb;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5B,CAAC;IAEM,2BAAK,GAAZ;QACC,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACF,kBAAC;AAAD,CAAC,AA9CD,IA8CC"}
package/lib/get.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import './polyfill';
2
- import { Filter, FrozenPattyData } from './frozen-patty';
2
+ import type { Filter, FrozenPattyData } from './frozen-patty';
3
3
  export default function (el: Element, attr: string, typeConvert: boolean, filter?: Filter): FrozenPattyData;
4
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAG9E,MAAM,CAAC,OAAO,WACb,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAQjB"}
package/lib/get.js CHANGED
@@ -1,16 +1,20 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  require("./polyfill");
4
7
  var util_1 = require("./util");
5
- var getValue_1 = require("./getValue");
8
+ var getValue_1 = __importDefault(require("./getValue"));
6
9
  function default_1(el, attr, typeConvert, filter) {
7
- var filedElements = el.querySelectorAll("[data-" + attr + "]");
10
+ var filedElements = el.querySelectorAll("[data-".concat(attr, "]"));
8
11
  var values = [];
9
12
  for (var _i = 0, _a = Array.from(filedElements); _i < _a.length; _i++) {
10
13
  var _el = _a[_i];
11
- values = values.concat(getValue_1.default(_el, attr, typeConvert, filter));
14
+ values = values.concat((0, getValue_1.default)(_el, attr, typeConvert, filter));
12
15
  }
13
- var result = util_1.arrayToHash(values);
16
+ var result = (0, util_1.arrayToHash)(values);
14
17
  return result;
15
18
  }
16
19
  exports.default = default_1;
20
+ //# sourceMappingURL=get.js.map
package/lib/get.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":";;;;;AAAA,sBAAoB;AAEpB,+BAAqC;AAGrC,wDAAkC;AAElC,mBACC,EAAW,EACX,IAAY,EACZ,WAAoB,EACpB,MAAe;IAEf,IAAM,aAAa,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAS,IAAI,MAAG,CAAC,CAAC;IAC5D,IAAI,MAAM,GAAuD,EAAE,CAAC;IACpE,KAAkB,UAAyB,EAAzB,KAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;QAAxC,IAAM,GAAG,SAAA;QACb,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;KACjE;IACD,IAAM,MAAM,GAAG,IAAA,kBAAW,EAAC,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC;AACf,CAAC;AAbD,4BAaC"}
package/lib/getValue.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Filter } from './frozen-patty';
1
+ import type { Filter, PrimitiveDatum } from './frozen-patty';
2
2
  /**
3
3
  * Get value from an element
4
4
  *
@@ -6,4 +6,5 @@ import { Filter } from './frozen-patty';
6
6
  * @param attr Data attribute name for specifying the node that FrozenPatty treats as a field
7
7
  * @param typeConvert Auto covert type of value
8
8
  */
9
- export default function (el: Element, attr: string, typeConvert: boolean, filter?: Filter): [string, string | number | boolean | null | undefined, boolean][];
9
+ export default function (el: Element, attr: string, typeConvert: boolean, filter?: Filter): [string | number, PrimitiveDatum, boolean][];
10
+ //# sourceMappingURL=getValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValue.d.ts","sourceRoot":"","sources":["../src/getValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAmB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,WACb,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,MAAM,gDAqEf"}
package/lib/getValue.js CHANGED
@@ -12,13 +12,13 @@ function default_1(el, attr, typeConvert, filter) {
12
12
  * [key, value, forceArray]
13
13
  */
14
14
  var result = [];
15
- var rawValue = el.getAttribute("data-" + attr);
16
- var listRoot = el.closest("[data-" + attr + "-list]");
15
+ var rawValue = el.getAttribute("data-".concat(attr));
16
+ var listRoot = el.closest("[data-".concat(attr, "-list]"));
17
17
  var forceArray = !!listRoot;
18
18
  if (rawValue == null) {
19
- throw new Error("data-" + attr + " attriblute is empty.");
19
+ throw new Error("data-".concat(attr, " attriblute is empty."));
20
20
  }
21
- var fieldList = ("" + rawValue).split(/\s*,\s*/);
21
+ var fieldList = "".concat(rawValue).split(/\s*,\s*/);
22
22
  // console.log({fieldList, el: el.innerHTML});
23
23
  for (var _i = 0, fieldList_1 = fieldList; _i < fieldList_1.length; _i++) {
24
24
  var fieldName = fieldList_1[_i];
@@ -37,7 +37,13 @@ function default_1(el, attr, typeConvert, filter) {
37
37
  }
38
38
  else if (/^style\([a-z-]+\)$/i.test(keyAttr)) {
39
39
  var css = keyAttr.replace(/^style\(([a-z-]+)\)$/i, '$1');
40
- var style = window.getComputedStyle(el);
40
+ var style = void 0;
41
+ if (el instanceof HTMLElement) {
42
+ style = el.style;
43
+ }
44
+ else {
45
+ style = window.getComputedStyle(el);
46
+ }
41
47
  value = style.getPropertyValue(css);
42
48
  if (css === 'background-image') {
43
49
  value = getBackgroundImagePath(value);
@@ -47,13 +53,15 @@ function default_1(el, attr, typeConvert, filter) {
47
53
  value = getAttribute(el, keyAttr, typeConvert);
48
54
  }
49
55
  else {
50
- if (el instanceof HTMLInputElement || el instanceof HTMLSelectElement || el instanceof HTMLTextAreaElement) {
56
+ if (el instanceof HTMLInputElement ||
57
+ el instanceof HTMLSelectElement ||
58
+ el instanceof HTMLTextAreaElement) {
51
59
  var val = el.value;
52
60
  if (Array.isArray(val)) {
53
- value = val[0];
61
+ value = cast(val[0]);
54
62
  }
55
63
  else {
56
- value = val || '';
64
+ value = cast(val);
57
65
  }
58
66
  }
59
67
  else {
@@ -77,7 +85,7 @@ function getAttribute(el, keyAttr, typeConvert) {
77
85
  return el.contentEditable === '' || el.contentEditable === 'true';
78
86
  }
79
87
  else {
80
- return el.getAttribute(keyAttr) === '' || el.getAttribute(keyAttr) === 'true';
88
+ return (el.getAttribute(keyAttr) === '' || el.getAttribute(keyAttr) === 'true');
81
89
  }
82
90
  }
83
91
  case 'checked': {
@@ -99,33 +107,36 @@ function getAttribute(el, keyAttr, typeConvert) {
99
107
  if (/^data-/.test(keyAttr)) {
100
108
  var value = el.getAttribute(keyAttr) || '';
101
109
  if (typeConvert) {
102
- switch (value) {
103
- case 'true': return true;
104
- case 'false': return false;
105
- }
106
- var numeric = parseFloat(value);
107
- if (isFinite(numeric)) {
108
- return numeric;
109
- }
110
- else {
111
- return value;
112
- }
113
- }
114
- else {
115
- return value;
110
+ return cast(value);
116
111
  }
112
+ return value;
117
113
  }
118
- else {
119
- return el.getAttribute(keyAttr) || '';
120
- }
114
+ return el.getAttribute(keyAttr) || '';
121
115
  }
122
116
  }
123
117
  }
118
+ function cast(value) {
119
+ if (value == null || value === '') {
120
+ return '';
121
+ }
122
+ switch (value) {
123
+ case 'true':
124
+ return true;
125
+ case 'false':
126
+ return false;
127
+ }
128
+ var numeric = Number(value);
129
+ if (isFinite(numeric)) {
130
+ return numeric;
131
+ }
132
+ return value;
133
+ }
124
134
  /**
125
135
  * Get path from value of "background-image"
126
136
  *
127
137
  */
128
138
  function getBackgroundImagePath(value) {
129
- var origin = location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : '');
139
+ var origin = "".concat(location.protocol, "//").concat(location.hostname).concat(location.port ? ":".concat(location.port) : '');
130
140
  return decodeURI(value.replace(/^url\(["']?([^"']+)["']?\)$/i, '$1').replace(origin, ''));
131
141
  }
142
+ //# sourceMappingURL=getValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValue.js","sourceRoot":"","sources":["../src/getValue.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import FrozenPatty, { Filter, FrozenPattyOptions, PrimitiveDatum } from './frozen-patty';
1
+ import type { Filter, FrozenPattyOptions, PrimitiveDatum } from './frozen-patty';
2
+ import FrozenPatty from './frozen-patty';
2
3
  /**
3
4
  * Pure HTML to JSON converter that not use template engine.
4
5
  *
@@ -28,6 +29,7 @@ declare namespace frozenPatty {
28
29
  * @param typeConvert Auto covert type of value
29
30
  * @param attr Data attribute name for specifying the node that FrozenPatty treats as a field
30
31
  */
31
- function getValue(el: Element, name: string, typeConvert?: boolean, attr?: string, filter?: Filter): string | number | boolean | (string | number | boolean | null | undefined)[] | null | undefined;
32
+ function getValue(el: Element, name: string, typeConvert?: boolean, attr?: string, filter?: Filter): PrimitiveDatum | PrimitiveDatum[];
32
33
  }
33
34
  export default frozenPatty;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAKzC;;;;;GAKG;AACH,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,eAE9D;AAGD,kBAAU,WAAW,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,SAAgB,QAAQ,CACvB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,cAAc,EACrB,IAAI,SAAU,EACd,MAAM,CAAC,EAAE,MAAM,QAGf;IAED;;;;;;;OAOG;IACH,SAAgB,QAAQ,CACvB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EACZ,WAAW,UAAQ,EACnB,IAAI,SAAU,EACd,MAAM,CAAC,EAAE,MAAM,qCAIf;CACD;AAED,eAAe,WAAW,CAAC"}
package/lib/index.js CHANGED
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var frozen_patty_1 = require("./frozen-patty");
4
- var getValue_1 = require("./getValue");
5
- var setValue_1 = require("./setValue");
6
+ var frozen_patty_1 = __importDefault(require("./frozen-patty"));
7
+ var getValue_1 = __importDefault(require("./getValue"));
8
+ var setValue_1 = __importDefault(require("./setValue"));
6
9
  var util_1 = require("./util");
7
10
  /**
8
11
  * Pure HTML to JSON converter that not use template engine.
@@ -13,6 +16,7 @@ var util_1 = require("./util");
13
16
  function frozenPatty(html, options) {
14
17
  return new frozen_patty_1.default(html, options);
15
18
  }
19
+ // eslint-disable-next-line @typescript-eslint/no-namespace, no-redeclare
16
20
  (function (frozenPatty) {
17
21
  /**
18
22
  * Set value to an element
@@ -28,7 +32,7 @@ function frozenPatty(html, options) {
28
32
  */
29
33
  function setValue(el, name, datum, attr, filter) {
30
34
  if (attr === void 0) { attr = 'field'; }
31
- return setValue_1.default(name, datum, el, attr, filter);
35
+ return (0, setValue_1.default)(name, datum, el, attr, filter);
32
36
  }
33
37
  frozenPatty.setValue = setValue;
34
38
  /**
@@ -42,9 +46,10 @@ function frozenPatty(html, options) {
42
46
  function getValue(el, name, typeConvert, attr, filter) {
43
47
  if (typeConvert === void 0) { typeConvert = false; }
44
48
  if (attr === void 0) { attr = 'field'; }
45
- var data = util_1.arrayToHash(getValue_1.default(el, attr, typeConvert, filter));
49
+ var data = (0, util_1.arrayToHash)((0, getValue_1.default)(el, attr, typeConvert, filter));
46
50
  return data[name];
47
51
  }
48
52
  frozenPatty.getValue = getValue;
49
53
  })(frozenPatty || (frozenPatty = {}));
50
54
  exports.default = frozenPatty;
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AACA,gEAAyC;AACzC,wDAAmC;AACnC,wDAAmC;AACnC,+BAAqC;AAErC;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,OAA4B;IAC9D,OAAO,IAAI,sBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,yEAAyE;AACzE,WAAU,WAAW;IACpB;;;;;;;;;;;OAWG;IACH,SAAgB,QAAQ,CACvB,EAAW,EACX,IAAY,EACZ,KAAqB,EACrB,IAAc,EACd,MAAe;QADf,qBAAA,EAAA,cAAc;QAGd,OAAO,IAAA,kBAAS,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IARe,oBAAQ,WAQvB,CAAA;IAED;;;;;;;OAOG;IACH,SAAgB,QAAQ,CACvB,EAAW,EACX,IAAY,EACZ,WAAmB,EACnB,IAAc,EACd,MAAe;QAFf,4BAAA,EAAA,mBAAmB;QACnB,qBAAA,EAAA,cAAc;QAGd,IAAM,IAAI,GAAG,IAAA,kBAAW,EAAC,IAAA,kBAAS,EAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IATe,oBAAQ,WASvB,CAAA;AACF,CAAC,EAzCS,WAAW,KAAX,WAAW,QAyCpB;AAED,kBAAe,WAAW,CAAC"}
package/lib/polyfill.d.ts CHANGED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=polyfill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfill.d.ts","sourceRoot":"","sources":["../src/polyfill.ts"],"names":[],"mappings":""}
package/lib/polyfill.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  if (!Element.prototype.matches) {
3
- Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
3
+ Element.prototype.matches =
4
+ // @ts-ignore
5
+ Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
4
6
  }
5
7
  if (!Element.prototype.closest) {
6
8
  Element.prototype.closest = function (s) {
@@ -15,3 +17,4 @@ if (!Element.prototype.closest) {
15
17
  return null;
16
18
  };
17
19
  }
20
+ //# sourceMappingURL=polyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../src/polyfill.ts"],"names":[],"mappings":";AAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;IAC/B,OAAO,CAAC,SAAS,CAAC,OAAO;QACxB,aAAa;QACb,OAAO,CAAC,SAAS,CAAC,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;CAChF;AAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;IAC/B,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,CAAS;QAC9C,2CAA2C;QAC3C,IAAI,QAAQ,GAAmB,IAAI,CAAC;QACpC,GAAG;YACF,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,OAAO,QAAQ,CAAC;aAChB;YACD,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;SAClC,QAAQ,QAAQ,KAAK,IAAI,EAAE;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;CACF"}
package/lib/set.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import './polyfill';
2
- import { Filter, FrozenPattyData } from './frozen-patty';
3
- export default function (el: Element, data: FrozenPattyData, attr: string, typeConvert?: boolean, filter?: Filter): Element;
2
+ import type { Filter, FrozenPattyData } from './frozen-patty';
3
+ export default function (el: Element, data: FrozenPattyData, attr: string, filter?: Filter): Element;
4
+ //# sourceMappingURL=set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAG9D,MAAM,CAAC,OAAO,WACb,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,WA0Cf"}
package/lib/set.js CHANGED
@@ -1,41 +1,48 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  require("./polyfill");
4
- var setValue_1 = require("./setValue");
5
- function default_1(el, data, attr, typeConvert, filter) {
6
- if (typeConvert === void 0) { typeConvert = false; }
7
+ var setValue_1 = __importDefault(require("./setValue"));
8
+ function default_1(el, data, attr, filter) {
7
9
  el = el.cloneNode(true);
8
10
  var _loop_1 = function (dataKeyName) {
9
- if (data.hasOwnProperty(dataKeyName)) {
11
+ if (dataKeyName in data) {
10
12
  var datum_1 = data[dataKeyName];
11
- var selector = "[data-" + attr + "*=\"" + dataKeyName + "\"]";
13
+ var selector = "[data-".concat(attr, "*=\"").concat(dataKeyName, "\"]");
12
14
  var targetList = el.querySelectorAll(selector);
13
15
  if (Array.isArray(datum_1)) {
14
16
  var targetEl = targetList[0];
15
17
  if (!targetEl) {
16
18
  return "continue";
17
19
  }
18
- var listRoot_1 = targetEl.closest("[data-" + attr + "-list]");
19
- if (!listRoot_1 || listRoot_1 && !listRoot_1.children.length) {
20
+ var listRoot = targetEl.closest("[data-".concat(attr, "-list]"));
21
+ if (!listRoot || (listRoot && !listRoot.children.length)) {
20
22
  return "continue";
21
23
  }
22
- var listItem = listRoot_1.children[0].cloneNode(true);
23
- while (datum_1.length > listRoot_1.children.length) {
24
- listRoot_1.appendChild(listItem.cloneNode(true));
24
+ var listItem = listRoot.children[0].cloneNode(true);
25
+ while (datum_1.length > listRoot.children.length) {
26
+ listRoot.appendChild(listItem.cloneNode(true));
25
27
  }
26
- var newChildren = listRoot_1.querySelectorAll(selector);
28
+ var newChildren = listRoot.querySelectorAll(selector);
29
+ var oldChildList_1 = Array.from(listRoot.children);
30
+ var deleteNodeList_1 = [];
27
31
  Array.from(newChildren).forEach(function (child, i) {
28
32
  if (datum_1[i] != null) {
29
- setValue_1.default(dataKeyName, datum_1[i], child, attr, filter);
33
+ (0, setValue_1.default)(dataKeyName, datum_1[i], child, attr, filter);
34
+ deleteNodeList_1 = [];
30
35
  }
31
36
  else {
32
- listRoot_1.children[i].remove();
37
+ (0, setValue_1.default)(dataKeyName, '', child, attr, filter);
38
+ deleteNodeList_1.push(oldChildList_1[i]);
33
39
  }
34
40
  });
41
+ deleteNodeList_1.forEach(function (node) { return node.remove(); });
35
42
  }
36
43
  else {
37
44
  Array.from(targetList).forEach(function (targetEl, i) {
38
- setValue_1.default(dataKeyName, datum_1, targetEl, attr, filter);
45
+ (0, setValue_1.default)(dataKeyName, datum_1, targetEl, attr, filter);
39
46
  });
40
47
  }
41
48
  }
@@ -46,3 +53,4 @@ function default_1(el, data, attr, typeConvert, filter) {
46
53
  return el;
47
54
  }
48
55
  exports.default = default_1;
56
+ //# sourceMappingURL=set.js.map
package/lib/set.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":";;;;;AAAA,sBAAoB;AAGpB,wDAAkC;AAElC,mBACC,EAAW,EACX,IAAqB,EACrB,IAAY,EACZ,MAAe;IAEf,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAY,CAAC;4BACxB,WAAW;QACrB,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,IAAM,OAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAM,QAAQ,GAAG,gBAAS,IAAI,iBAAM,WAAW,QAAI,CAAC;YACpD,IAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAK,CAAC,EAAE;gBACzB,IAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE;;iBAEd;gBACD,IAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAS,IAAI,WAAQ,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;;iBAEzD;gBACD,IAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,OAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC/C,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/C;gBACD,IAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAM,cAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,gBAAc,GAAc,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,CAAC;oBACxC,IAAI,OAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;wBACrB,IAAA,kBAAQ,EAAC,WAAW,EAAE,OAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;wBACrD,gBAAc,GAAG,EAAE,CAAC;qBACpB;yBAAM;wBACN,IAAA,kBAAQ,EAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;wBAC/C,gBAAc,CAAC,IAAI,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,CAAC;qBACrC;gBACF,CAAC,CAAC,CAAC;gBACH,gBAAc,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,EAAE,EAAb,CAAa,CAAC,CAAC;aAChD;iBAAM;gBACN,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ,EAAE,CAAC;oBAC1C,IAAA,kBAAQ,EAAC,WAAW,EAAE,OAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;aACH;SACD;;IApCF,KAAK,IAAM,WAAW,IAAI,IAAI;gBAAnB,WAAW;KAqCrB;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AA9CD,4BA8CC"}
package/lib/setValue.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Filter, FrozenPattyData, PrimitiveDatum } from './frozen-patty';
1
+ import type { Filter, FrozenPattyData, PrimitiveDatum } from './frozen-patty';
2
2
  /**
3
3
  * Set value to an element
4
4
  *
@@ -12,3 +12,4 @@ import { Filter, FrozenPattyData, PrimitiveDatum } from './frozen-patty';
12
12
  * @param attr Field data attribute name
13
13
  */
14
14
  export default function (name: keyof FrozenPattyData, datum: PrimitiveDatum, el: Element, attr: string, filter?: Filter): void;
15
+ //# sourceMappingURL=setValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setValue.d.ts","sourceRoot":"","sources":["../src/setValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,WACb,IAAI,EAAE,MAAM,eAAe,EAC3B,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,QAsGf"}