@useinsider/guido 1.4.4-beta.9adffb8 → 1.4.4-beta.a48da7f
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.
- package/README.md +295 -664
- package/dist/@types/config/defaults.js +44 -0
- package/dist/@types/config/schemas.js +243 -0
- package/dist/@types/config/validator.js +56 -0
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +63 -89
- package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +13 -13
- package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +5 -5
- package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +13 -13
- package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue2.js +18 -15
- package/dist/components/organisms/header/RightSlot.vue.js +10 -10
- package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +22 -19
- package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +4 -4
- package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +8 -8
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +3 -3
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +17 -17
- package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +10 -10
- package/dist/composables/useBlocksConfig.js +23 -20
- package/dist/composables/useConfig.js +53 -5
- package/dist/composables/useHtmlCompiler.js +20 -19
- package/dist/composables/useHtmlValidator.js +41 -41
- package/dist/composables/usePartner.js +19 -9
- package/dist/composables/useSave.js +13 -11
- package/dist/composables/useStripo.js +11 -11
- package/dist/composables/useTranslations.js +3 -2
- package/dist/config/compiler/unsubscribeCompilerRules.js +1 -1
- package/dist/enums/defaults.js +3 -67
- package/dist/enums/unsubscribe.js +23 -20
- package/dist/extensions/Blocks/CouponBlock/extension.js +4 -5
- package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +14 -20
- package/dist/extensions/Blocks/CouponBlock/template.js +11 -22
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +12 -11
- package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
- package/dist/extensions/Blocks/controlFactories.js +111 -122
- package/dist/guido.css +1 -1
- package/dist/library.js +12 -2
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +52 -57
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js +10 -10
- package/dist/node_modules/valibot/dist/index.js +476 -103
- package/dist/services/templateLibraryApi.js +18 -18
- package/dist/src/@types/config/defaults.d.ts +68 -0
- package/dist/src/@types/config/index.d.ts +14 -0
- package/dist/src/@types/config/schemas.d.ts +531 -0
- package/dist/src/@types/config/types.d.ts +148 -0
- package/dist/src/@types/config/validator.d.ts +119 -0
- package/dist/src/@types/generic.d.ts +4 -45
- package/dist/src/components/Guido.vue.d.ts +13 -12
- package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
- package/dist/src/composables/useConfig.d.ts +190 -2
- package/dist/src/composables/usePartner.d.ts +8 -0
- package/dist/src/enums/defaults.d.ts +4 -6
- package/dist/src/enums/unsubscribe.d.ts +5 -1
- package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/controlFactories.d.ts +7 -30
- package/dist/src/library.d.ts +3 -1
- package/dist/src/stores/config.d.ts +1691 -102
- package/dist/stores/config.js +148 -9
- package/package.json +1 -1
- package/dist/extensions/Blocks/CouponBlock/constants.js +0 -4
- package/dist/extensions/Blocks/CouponBlock/controls/index.js +0 -29
- package/dist/node_modules/lodash-es/_apply.js +0 -16
- package/dist/node_modules/lodash-es/_assignMergeValue.js +0 -8
- package/dist/node_modules/lodash-es/_assignValue.js +0 -10
- package/dist/node_modules/lodash-es/_baseAssignValue.js +0 -12
- package/dist/node_modules/lodash-es/_baseCreate.js +0 -17
- package/dist/node_modules/lodash-es/_baseKeysIn.js +0 -15
- package/dist/node_modules/lodash-es/_baseMerge.js +0 -20
- package/dist/node_modules/lodash-es/_baseMergeDeep.js +0 -31
- package/dist/node_modules/lodash-es/_baseRest.js +0 -9
- package/dist/node_modules/lodash-es/_baseSetToString.js +0 -14
- package/dist/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
- package/dist/node_modules/lodash-es/_cloneBuffer.js +0 -9
- package/dist/node_modules/lodash-es/_cloneTypedArray.js +0 -8
- package/dist/node_modules/lodash-es/_copyArray.js +0 -9
- package/dist/node_modules/lodash-es/_copyObject.js +0 -14
- package/dist/node_modules/lodash-es/_createAssigner.js +0 -15
- package/dist/node_modules/lodash-es/_defineProperty.js +0 -11
- package/dist/node_modules/lodash-es/_getPrototype.js +0 -5
- package/dist/node_modules/lodash-es/_initCloneObject.js +0 -9
- package/dist/node_modules/lodash-es/_nativeKeysIn.js +0 -10
- package/dist/node_modules/lodash-es/_overRest.js +0 -15
- package/dist/node_modules/lodash-es/_safeGet.js +0 -7
- package/dist/node_modules/lodash-es/_setToString.js +0 -6
- package/dist/node_modules/lodash-es/_shortOut.js +0 -16
- package/dist/node_modules/lodash-es/constant.js +0 -8
- package/dist/node_modules/lodash-es/isArrayLikeObject.js +0 -8
- package/dist/node_modules/lodash-es/isPlainObject.js +0 -16
- package/dist/node_modules/lodash-es/keysIn.js +0 -9
- package/dist/node_modules/lodash-es/merge.js +0 -8
- package/dist/node_modules/lodash-es/toPlainObject.js +0 -8
- package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +0 -14
- package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +0 -108
|
@@ -23,12 +23,12 @@ ${s.map((E) => ` - ${E}`).join(`
|
|
|
23
23
|
validateImplementation(e, r) {
|
|
24
24
|
var I;
|
|
25
25
|
const s = [], E = r.name, T = Object.getPrototypeOf(this);
|
|
26
|
-
e.forEach((
|
|
27
|
-
if (typeof this[
|
|
28
|
-
s.push(`Method ${
|
|
26
|
+
e.forEach((l) => {
|
|
27
|
+
if (typeof this[l] != "function") {
|
|
28
|
+
s.push(`Method ${l}() is not defined`);
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
T[
|
|
31
|
+
T[l] === r.prototype[l] && s.push(`Method ${l}() must be implemented (currently using base class error-throwing implementation)`);
|
|
32
32
|
}), u.validatedClasses.add(r), s.length > 0 ? (u.validationErrors.set(r, s), console.error(`[${E} Validation] ${E} validation failed:`, s)) : typeof process < "u" && ((I = process.env) == null ? void 0 : I.NODE_ENV) === "development" && console.log(`[${E} Validation] ✅ ${E} validated successfully`);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
@@ -254,10 +254,10 @@ var st = {
|
|
|
254
254
|
...o,
|
|
255
255
|
caption: "caption",
|
|
256
256
|
icon: "icon"
|
|
257
|
-
},
|
|
257
|
+
}, mt = {
|
|
258
258
|
...o,
|
|
259
259
|
caption: "caption"
|
|
260
|
-
},
|
|
260
|
+
}, gt = {
|
|
261
261
|
...o,
|
|
262
262
|
minValue: "min-value",
|
|
263
263
|
maxValue: "max-value",
|
|
@@ -265,7 +265,7 @@ var st = {
|
|
|
265
265
|
}, bt = {
|
|
266
266
|
...o,
|
|
267
267
|
text: "text"
|
|
268
|
-
},
|
|
268
|
+
}, At = {
|
|
269
269
|
...o
|
|
270
270
|
}, X = {
|
|
271
271
|
...o,
|
|
@@ -273,7 +273,7 @@ var st = {
|
|
|
273
273
|
multiSelect: "multi-select",
|
|
274
274
|
placeholder: "placeholder",
|
|
275
275
|
items: "items"
|
|
276
|
-
},
|
|
276
|
+
}, Nt = {
|
|
277
277
|
...X
|
|
278
278
|
}, Dt = {
|
|
279
279
|
text: "text",
|
|
@@ -292,15 +292,15 @@ var st = {
|
|
|
292
292
|
position: "position"
|
|
293
293
|
}, vt = {
|
|
294
294
|
...o
|
|
295
|
-
},
|
|
295
|
+
}, Vt = {
|
|
296
296
|
BUTTON: Ct,
|
|
297
|
-
CHECKBOX:
|
|
297
|
+
CHECKBOX: mt,
|
|
298
298
|
COLOR: o,
|
|
299
|
-
COUNTER:
|
|
299
|
+
COUNTER: gt,
|
|
300
300
|
LABEL: bt,
|
|
301
|
-
RADIO_BUTTONS:
|
|
301
|
+
RADIO_BUTTONS: At,
|
|
302
302
|
SELECTPICKER: X,
|
|
303
|
-
FONT_FAMILY_SELECT:
|
|
303
|
+
FONT_FAMILY_SELECT: Nt,
|
|
304
304
|
SWITCHER: o,
|
|
305
305
|
TEXT: Bt,
|
|
306
306
|
SELECT_ITEM: Dt,
|
|
@@ -344,7 +344,7 @@ var st = {
|
|
|
344
344
|
const e = t.querySelectorAll(O.BUTTON), r = t.asElement().hasClass(U) ? [t] : [];
|
|
345
345
|
return e.length ? e : r;
|
|
346
346
|
}
|
|
347
|
-
},
|
|
347
|
+
}, Gt = class extends i {
|
|
348
348
|
getParentControlId() {
|
|
349
349
|
return n.BLOCK_BUTTON.BORDER_RADIUS;
|
|
350
350
|
}
|
|
@@ -454,20 +454,20 @@ var st = {
|
|
|
454
454
|
}
|
|
455
455
|
};
|
|
456
456
|
k.REQUIRED_METHODS = ["getId", "getTemplate"];
|
|
457
|
-
var ee = k,
|
|
457
|
+
var ee = k, V = class extends x {
|
|
458
458
|
getTargetNodes(t) {
|
|
459
459
|
const e = t.querySelectorAll(O.IMAGE), r = t.asElement().hasClass(K) ? [t] : [];
|
|
460
460
|
return e.length ? e : r;
|
|
461
461
|
}
|
|
462
|
-
}, re = class extends
|
|
462
|
+
}, re = class extends V {
|
|
463
463
|
getParentControlId() {
|
|
464
464
|
return n.BLOCK_IMAGE.EXTERNAL_INDENTS;
|
|
465
465
|
}
|
|
466
|
-
}, ne = class extends
|
|
466
|
+
}, ne = class extends V {
|
|
467
467
|
getParentControlId() {
|
|
468
468
|
return n.BLOCK_IMAGE.SIZE;
|
|
469
469
|
}
|
|
470
|
-
},
|
|
470
|
+
}, G = class L extends a {
|
|
471
471
|
constructor() {
|
|
472
472
|
super(L.REQUIRED_METHODS, L);
|
|
473
473
|
}
|
|
@@ -475,8 +475,8 @@ var ee = k, G = class extends x {
|
|
|
475
475
|
throw new Error("Method registerBlockControls() must be implemented by the subclass");
|
|
476
476
|
}
|
|
477
477
|
};
|
|
478
|
-
|
|
479
|
-
var se =
|
|
478
|
+
G.REQUIRED_METHODS = ["registerBlockControls"];
|
|
479
|
+
var se = G, ae = class {
|
|
480
480
|
constructor(t, e) {
|
|
481
481
|
this.tabId = t, this.controlsIds = e;
|
|
482
482
|
}
|
|
@@ -499,46 +499,42 @@ var se = V, ae = class {
|
|
|
499
499
|
const e = this.controlsIds.indexOf(t);
|
|
500
500
|
e !== -1 && this.controlsIds.splice(e, 1);
|
|
501
501
|
}
|
|
502
|
-
},
|
|
502
|
+
}, d = class extends x {
|
|
503
503
|
getTargetNodes(t) {
|
|
504
504
|
const e = t.querySelectorAll(O.TEXT), r = t.asElement().hasClass(p) ? [t] : [];
|
|
505
505
|
return e.length ? e : r;
|
|
506
506
|
}
|
|
507
|
-
}, ie = class extends
|
|
507
|
+
}, ie = class extends d {
|
|
508
508
|
getParentControlId() {
|
|
509
509
|
return n.GENERAL.TEXT_ALIGN;
|
|
510
510
|
}
|
|
511
|
-
}, oe = class extends
|
|
511
|
+
}, oe = class extends d {
|
|
512
512
|
getParentControlId() {
|
|
513
513
|
return n.BLOCK_TEXT.TEXT_BLOCK_BACKGROUND_COLOR;
|
|
514
514
|
}
|
|
515
|
-
}, Ee = class extends
|
|
515
|
+
}, Ee = class extends d {
|
|
516
516
|
getParentControlId() {
|
|
517
517
|
return n.GENERAL.TEXT_COLOR;
|
|
518
518
|
}
|
|
519
|
-
}, le = class extends
|
|
519
|
+
}, le = class extends d {
|
|
520
520
|
getParentControlId() {
|
|
521
521
|
return n.BLOCK_TEXT.FONT_FAMILY;
|
|
522
522
|
}
|
|
523
|
-
}, de = class extends
|
|
524
|
-
getParentControlId() {
|
|
525
|
-
return n.GENERAL.TEXT_LINE_SPACING;
|
|
526
|
-
}
|
|
527
|
-
}, ue = class extends l {
|
|
523
|
+
}, de = class extends d {
|
|
528
524
|
getParentControlId() {
|
|
529
525
|
return n.BLOCK_TEXT.INTERNAL_INDENTS;
|
|
530
526
|
}
|
|
531
|
-
},
|
|
527
|
+
}, ue = class extends d {
|
|
532
528
|
getParentControlId() {
|
|
533
529
|
return n.GENERAL.TEXT_SIZE;
|
|
534
530
|
}
|
|
535
|
-
},
|
|
531
|
+
}, Ie = class extends d {
|
|
536
532
|
getParentControlId() {
|
|
537
533
|
return n.GENERAL.TEXT_STYLE;
|
|
538
534
|
}
|
|
539
535
|
}, Ut = class {
|
|
540
|
-
constructor(t, e, r = [], s, E = [], T, I = [],
|
|
541
|
-
this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = W, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = E, this.settingsPanelRegistry = T, this.contextActions = I, this.blocks =
|
|
536
|
+
constructor(t, e, r = [], s, E = [], T, I = [], l = [], v, $, W, z, Z, j, q, J, tt) {
|
|
537
|
+
this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = W, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = E, this.settingsPanelRegistry = T, this.contextActions = I, this.blocks = l, this.externalSmartElementsLibrary = v, this.externalImageLibrary = $, this.externalImageLibraryTab = tt, this.externalAiAssistant = z, this.externalDisplayConditionsLibrary = Z, this.externalVideoLibrary = j, this.blocksPanel = q, this.iconsRegistry = J, this.id = Math.random().toString(36).substring(2);
|
|
542
538
|
}
|
|
543
539
|
getI18n() {
|
|
544
540
|
return this.i18n;
|
|
@@ -594,7 +590,7 @@ var se = V, ae = class {
|
|
|
594
590
|
getIconsRegistry() {
|
|
595
591
|
return this.iconsRegistry;
|
|
596
592
|
}
|
|
597
|
-
},
|
|
593
|
+
}, Oe = class {
|
|
598
594
|
constructor() {
|
|
599
595
|
this.styles = [], this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [];
|
|
600
596
|
}
|
|
@@ -689,9 +685,9 @@ var se = V, ae = class {
|
|
|
689
685
|
}
|
|
690
686
|
};
|
|
691
687
|
pt.REQUIRED_METHODS = ["openAiAssistant"];
|
|
692
|
-
var Kt = class
|
|
688
|
+
var Kt = class m extends a {
|
|
693
689
|
constructor() {
|
|
694
|
-
super(
|
|
690
|
+
super(m.REQUIRED_METHODS, m);
|
|
695
691
|
}
|
|
696
692
|
/**
|
|
697
693
|
* Retrieves the name of the category.
|
|
@@ -730,9 +726,9 @@ var Kt = class g extends a {
|
|
|
730
726
|
}
|
|
731
727
|
};
|
|
732
728
|
Kt.REQUIRED_METHODS = ["getCategoryName", "openExternalDisplayConditionsDialog"];
|
|
733
|
-
var Ft = class
|
|
729
|
+
var Ft = class g extends a {
|
|
734
730
|
constructor() {
|
|
735
|
-
super(
|
|
731
|
+
super(g.REQUIRED_METHODS, g);
|
|
736
732
|
}
|
|
737
733
|
openImageLibrary(e, r, s) {
|
|
738
734
|
throw new Error("Method openImageLibrary() must be implemented by the subclass");
|
|
@@ -760,18 +756,18 @@ var wt = class b extends a {
|
|
|
760
756
|
}
|
|
761
757
|
};
|
|
762
758
|
wt.REQUIRED_METHODS = ["getName", "openImageLibraryTab"];
|
|
763
|
-
var Pt = class
|
|
759
|
+
var Pt = class A extends a {
|
|
764
760
|
constructor() {
|
|
765
|
-
super(
|
|
761
|
+
super(A.REQUIRED_METHODS, A);
|
|
766
762
|
}
|
|
767
763
|
openSmartElementsLibrary(e, r) {
|
|
768
764
|
throw new Error("Method openSmartElementsLibrary() must be implemented by the subclass");
|
|
769
765
|
}
|
|
770
766
|
};
|
|
771
767
|
Pt.REQUIRED_METHODS = ["openSmartElementsLibrary"];
|
|
772
|
-
var Ht = class
|
|
768
|
+
var Ht = class N extends a {
|
|
773
769
|
constructor() {
|
|
774
|
-
super(
|
|
770
|
+
super(N.REQUIRED_METHODS, N);
|
|
775
771
|
}
|
|
776
772
|
openExternalVideosLibraryDialog(e, r, s) {
|
|
777
773
|
throw new Error("Method openExternalVideosLibraryDialog() must be implemented by the subclass");
|
|
@@ -787,7 +783,7 @@ var Q = class D extends a {
|
|
|
787
783
|
}
|
|
788
784
|
};
|
|
789
785
|
Q.REQUIRED_METHODS = ["registerIconsSvg"];
|
|
790
|
-
var
|
|
786
|
+
var Te = Q, ce = class {
|
|
791
787
|
constructor(t) {
|
|
792
788
|
this.key = t;
|
|
793
789
|
}
|
|
@@ -856,7 +852,7 @@ var ce = Q, _e = class {
|
|
|
856
852
|
}
|
|
857
853
|
};
|
|
858
854
|
f.REQUIRED_METHODS = ["onRender", "getId", "getTemplate"];
|
|
859
|
-
var
|
|
855
|
+
var _e = f, Y = class B extends a {
|
|
860
856
|
constructor() {
|
|
861
857
|
super(B.REQUIRED_METHODS, B);
|
|
862
858
|
}
|
|
@@ -865,7 +861,7 @@ var he = f, Y = class B extends a {
|
|
|
865
861
|
}
|
|
866
862
|
};
|
|
867
863
|
Y.REQUIRED_METHODS = ["registerUiElements"];
|
|
868
|
-
var
|
|
864
|
+
var he = Y;
|
|
869
865
|
export {
|
|
870
866
|
Xt as Block,
|
|
871
867
|
kt as BlockAttr,
|
|
@@ -877,7 +873,7 @@ export {
|
|
|
877
873
|
Qt as ButtonAlignBuiltInControl,
|
|
878
874
|
ft as ButtonBackgroundColorBuiltInControl,
|
|
879
875
|
Yt as ButtonBorderBuiltInControl,
|
|
880
|
-
|
|
876
|
+
Gt as ButtonBorderRadiusBuiltInControl,
|
|
881
877
|
$t as ButtonColorBuiltInControl,
|
|
882
878
|
w as ButtonControls,
|
|
883
879
|
Wt as ButtonFitToContainerBuiltInControl,
|
|
@@ -890,13 +886,13 @@ export {
|
|
|
890
886
|
Rt as ContainerControls,
|
|
891
887
|
ee as Control,
|
|
892
888
|
Ut as Extension,
|
|
893
|
-
|
|
889
|
+
Oe as ExtensionBuilder,
|
|
894
890
|
F as GeneralControls,
|
|
895
|
-
|
|
891
|
+
Te as IconsRegistry,
|
|
896
892
|
H as ImageControls,
|
|
897
893
|
re as ImageMarginsBuiltInControl,
|
|
898
894
|
ne as ImageSizeBuiltInControl,
|
|
899
|
-
|
|
895
|
+
ce as ModificationDescription,
|
|
900
896
|
se as SettingsPanelRegistry,
|
|
901
897
|
ae as SettingsPanelTab,
|
|
902
898
|
Lt as SettingsTab,
|
|
@@ -905,12 +901,11 @@ export {
|
|
|
905
901
|
Ee as TextColorBuiltInControl,
|
|
906
902
|
P as TextControls,
|
|
907
903
|
le as TextFontFamilyBuiltInControl,
|
|
908
|
-
de as
|
|
909
|
-
ue as
|
|
910
|
-
Ie as
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
he as
|
|
914
|
-
Re as UIElementTagRegistry,
|
|
904
|
+
de as TextPaddingsBuiltInControl,
|
|
905
|
+
ue as TextSizeBuiltInControl,
|
|
906
|
+
Ie as TextStyleBuiltInControl,
|
|
907
|
+
Vt as UEAttr,
|
|
908
|
+
_e as UIElement,
|
|
909
|
+
he as UIElementTagRegistry,
|
|
915
910
|
yt as UIElementType
|
|
916
911
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import m from "./_baseTimes.js";
|
|
2
|
+
import a from "./isArguments.js";
|
|
3
3
|
import h from "./isArray.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
var
|
|
8
|
-
function l(t,
|
|
9
|
-
var
|
|
4
|
+
import g from "./isBuffer.js";
|
|
5
|
+
import b from "./_isIndex.js";
|
|
6
|
+
import d from "./isTypedArray.js";
|
|
7
|
+
var A = Object.prototype, c = A.hasOwnProperty;
|
|
8
|
+
function l(t, O) {
|
|
9
|
+
var i = h(t), o = !i && a(t), s = !i && !o && g(t), e = !i && !o && !s && d(t), n = i || o || s || e, f = n ? m(t.length, String) : [], p = f.length;
|
|
10
10
|
for (var r in t)
|
|
11
|
-
|
|
11
|
+
c.call(t, r) && !(n && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
12
12
|
(r == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
13
13
|
s && (r == "offset" || r == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
14
14
|
e && (r == "buffer" || r == "byteLength" || r == "byteOffset") || // Skip index properties.
|
|
15
|
-
|
|
15
|
+
b(r, p))) && f.push(r);
|
|
16
16
|
return f;
|
|
17
17
|
}
|
|
18
18
|
export {
|