Best JavaScript code snippet using playwright-internal
vue3.js
Source:vue3.js
...2627 isSSR = false) {2628 const props = {};2629 const attrs = {};2630 def(attrs, InternalObjectKey, 1);2631 setFullProps(instance, rawProps, props, attrs);2632 // validation2633 {2634 validateProps(props, instance);2635 }2636 if (isStateful) {2637 // stateful2638 instance.props = isSSR ? props : shallowReactive(props);2639 }2640 else {2641 if (!instance.type.props) {2642 // functional w/ optional props, props === attrs2643 instance.props = attrs;2644 }2645 else {2646 // functional w/ declared props2647 instance.props = props;2648 }2649 }2650 instance.attrs = attrs;2651 }2652 function updateProps(instance, rawProps, rawPrevProps, optimized) {2653 const { props, attrs, vnode: { patchFlag } } = instance;2654 const rawCurrentProps = toRaw(props);2655 const [options] = instance.propsOptions;2656 if (2657 // always force full diff in dev2658 // - #1942 if hmr is enabled with sfc component2659 // - vite#872 non-sfc component used by sfc component2660 !(2661 (instance.type.__hmrId ||2662 (instance.parent && instance.parent.type.__hmrId))) &&2663 (optimized || patchFlag > 0) &&2664 !(patchFlag & 16 /* FULL_PROPS */)) {2665 if (patchFlag & 8 /* PROPS */) {2666 // Compiler-generated props & no keys change, just set the updated2667 // the props.2668 const propsToUpdate = instance.vnode.dynamicProps;2669 for (let i = 0; i < propsToUpdate.length; i++) {2670 const key = propsToUpdate[i];2671 // PROPS flag guarantees rawProps to be non-null2672 const value = rawProps[key];2673 if (options) {2674 // attr / props separation was done on init and will be consistent2675 // in this code path, so just check if attrs have it.2676 if (hasOwn(attrs, key)) {2677 attrs[key] = value;2678 }2679 else {2680 const camelizedKey = camelize(key);2681 props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance);2682 }2683 }2684 else {2685 attrs[key] = value;2686 }2687 }2688 }2689 }2690 else {2691 // full props update.2692 setFullProps(instance, rawProps, props, attrs);2693 // in case of dynamic props, check if we need to delete keys from2694 // the props object2695 let kebabKey;2696 for (const key in rawCurrentProps) {2697 if (!rawProps ||2698 // for camelCase2699 (!hasOwn(rawProps, key) &&2700 // it's possible the original props was passed in as kebab-case2701 // and converted to camelCase (#955)2702 ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {2703 if (options) {2704 if (rawPrevProps &&2705 // for camelCase2706 (rawPrevProps[key] !== undefined ||2707 // for kebab-case2708 rawPrevProps[kebabKey] !== undefined)) {2709 props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, undefined, instance);2710 }2711 }2712 else {2713 delete props[key];2714 }2715 }2716 }2717 // in the case of functional component w/o props declaration, props and2718 // attrs point to the same object so it should already have been updated.2719 if (attrs !== rawCurrentProps) {2720 for (const key in attrs) {2721 if (!rawProps || !hasOwn(rawProps, key)) {2722 delete attrs[key];2723 }2724 }2725 }2726 }2727 // trigger updates for $attrs in case it's used in component slots2728 trigger(instance, "set" /* SET */, '$attrs');2729 if ( rawProps) {2730 validateProps(props, instance);2731 }2732 }2733 function setFullProps(instance, rawProps, props, attrs) {2734 const [options, needCastKeys] = instance.propsOptions;2735 if (rawProps) {2736 for (const key in rawProps) {2737 const value = rawProps[key];2738 // key, ref are reserved and never passed down2739 if (isReservedProp(key)) {2740 continue;2741 }2742 // prop option names are camelized during normalization, so to support2743 // kebab -> camel conversion here we need to camelize the key.2744 let camelKey;2745 if (options && hasOwn(options, (camelKey = camelize(key)))) {2746 props[camelKey] = value;2747 }
...
runtime-core.esm-bundler-3a8001f8.js
Source:runtime-core.esm-bundler-3a8001f8.js
...820 const props = {};821 const attrs = {};822 def(attrs, InternalObjectKey, 1);823 instance.propsDefaults = Object.create(null);824 setFullProps(instance, rawProps, props, attrs);825 // ensure all declared prop keys are present826 for (const key in instance.propsOptions[0]) {827 if (!(key in props)) {828 props[key] = undefined;829 }830 }831 if (isStateful) {832 // stateful833 instance.props = isSSR ? props : shallowReactive(props);834 }835 else {836 if (!instance.type.props) {837 // functional w/ optional props, props === attrs838 instance.props = attrs;839 }840 else {841 // functional w/ declared props842 instance.props = props;843 }844 }845 instance.attrs = attrs;846}847function updateProps(instance, rawProps, rawPrevProps, optimized) {848 const { props, attrs, vnode: { patchFlag } } = instance;849 const rawCurrentProps = toRaw(props);850 const [options] = instance.propsOptions;851 let hasAttrsChanged = false;852 if (853 // always force full diff in dev854 // - #1942 if hmr is enabled with sfc component855 // - vite#872 non-sfc component used by sfc component856 857 (optimized || patchFlag > 0) &&858 !(patchFlag & 16 /* FULL_PROPS */)) {859 if (patchFlag & 8 /* PROPS */) {860 // Compiler-generated props & no keys change, just set the updated861 // the props.862 const propsToUpdate = instance.vnode.dynamicProps;863 for (let i = 0; i < propsToUpdate.length; i++) {864 let key = propsToUpdate[i];865 // PROPS flag guarantees rawProps to be non-null866 const value = rawProps[key];867 if (options) {868 // attr / props separation was done on init and will be consistent869 // in this code path, so just check if attrs have it.870 if (hasOwn(attrs, key)) {871 if (value !== attrs[key]) {872 attrs[key] = value;873 hasAttrsChanged = true;874 }875 }876 else {877 const camelizedKey = camelize(key);878 props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false /* isAbsent */);879 }880 }881 else {882 if (value !== attrs[key]) {883 attrs[key] = value;884 hasAttrsChanged = true;885 }886 }887 }888 }889 }890 else {891 // full props update.892 if (setFullProps(instance, rawProps, props, attrs)) {893 hasAttrsChanged = true;894 }895 // in case of dynamic props, check if we need to delete keys from896 // the props object897 let kebabKey;898 for (const key in rawCurrentProps) {899 if (!rawProps ||900 // for camelCase901 (!hasOwn(rawProps, key) &&902 // it's possible the original props was passed in as kebab-case903 // and converted to camelCase (#955)904 ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {905 if (options) {906 if (rawPrevProps &&907 // for camelCase908 (rawPrevProps[key] !== undefined ||909 // for kebab-case910 rawPrevProps[kebabKey] !== undefined)) {911 props[key] = resolvePropValue(options, rawCurrentProps, key, undefined, instance, true /* isAbsent */);912 }913 }914 else {915 delete props[key];916 }917 }918 }919 // in the case of functional component w/o props declaration, props and920 // attrs point to the same object so it should already have been updated.921 if (attrs !== rawCurrentProps) {922 for (const key in attrs) {923 if (!rawProps || !hasOwn(rawProps, key)) {924 delete attrs[key];925 hasAttrsChanged = true;926 }927 }928 }929 }930 // trigger updates for $attrs in case it's used in component slots931 if (hasAttrsChanged) {932 trigger(instance, "set" /* SET */, '$attrs');933 }934}935function setFullProps(instance, rawProps, props, attrs) {936 const [options, needCastKeys] = instance.propsOptions;937 let hasAttrsChanged = false;938 let rawCastValues;939 if (rawProps) {940 for (let key in rawProps) {941 // key, ref are reserved and never passed down942 if (isReservedProp(key)) {943 continue;944 }945 const value = rawProps[key];946 // prop option names are camelized during normalization, so to support947 // kebab -> camel conversion here we need to camelize the key.948 let camelKey;949 if (options && hasOwn(options, (camelKey = camelize(key)))) {...
jquery-3.6.0.min.js
Source:jquery-3.6.0.min.js
...968 return e ? b(b(Object.create(null), e), t) : t969}970function initProps(e, t, n, r = !1) {971 const o = {}, s = {};972 def(s, Ue, 1), e.propsDefaults = Object.create(null), setFullProps(e, t, o, s);973 for (const a in e.propsOptions[0]) a in o || (o[a] = void 0);974 n ? e.props = r ? o : function shallowReactive(e) {975 return createReactiveObject(e, !1, q, Z, ne)976 }(o) : e.type.props ? e.props = o : e.props = s, e.attrs = s977}978function setFullProps(e, t, n, r) {979 const [o, s] = e.propsOptions;980 let a, i = !1;981 if (t) for (let l in t) {982 if (k(l)) continue;983 const c = t[l];984 let u;985 o && hasOwn(o, u = S(l)) ? s && s.includes(u) ? (a || (a = {}))[u] = c : n[u] = c : isEmitListener(e.emitsOptions, l) || c !== r[l] && (r[l] = c, i = !0)986 }987 if (s) {988 const t = toRaw(n), r = a || g;989 for (let a = 0; a < s.length; a++) {990 const i = s[a];991 n[i] = resolvePropValue(o, t, i, r[i], e, !hasOwn(r, i))992 }993 }994 return i995}996function resolvePropValue(e, t, n, r, o, s) {997 const a = e[n];998 if (null != a) {999 const e = hasOwn(a, "default");1000 if (e && void 0 === r) {1001 const e = a.default;1002 if (a.type !== Function && isFunction(e)) {1003 const {propsDefaults: s} = o;1004 n in s ? r = s[n] : (setCurrentInstance(o), r = s[n] = e.call(null, t), setCurrentInstance(null))1005 } else r = e1006 }1007 a[0] && (s && !e ? r = !1 : !a[1] || "" !== r && r !== C(n) || (r = !0))1008 }1009 return r1010}1011function normalizePropsOptions(e, t, n = !1) {1012 const r = t.propsCache, o = r.get(e);1013 if (o) return o;1014 const s = e.props, a = {}, i = [];1015 let l = !1;1016 if (!isFunction(e)) {1017 const extendProps = e => {1018 l = !0;1019 const [n, r] = normalizePropsOptions(e, t, !0);1020 b(a, n), r && i.push(...r)1021 };1022 !n && t.mixins.length && t.mixins.forEach(extendProps), e.extends && extendProps(e.extends), e.mixins && e.mixins.forEach(extendProps)1023 }1024 if (!s && !l) return r.set(e, v), v;1025 if (w(s)) for (let u = 0; u < s.length; u++) {1026 const e = S(s[u]);1027 validatePropName(e) && (a[e] = g)1028 } else if (s) for (const u in s) {1029 const e = S(u);1030 if (validatePropName(e)) {1031 const t = s[u], n = a[e] = w(t) || isFunction(t) ? {type: t} : t;1032 if (n) {1033 const t = getTypeIndex(Boolean, n.type), r = getTypeIndex(String, n.type);1034 n[0] = t > -1, n[1] = r < 0 || t < r, (t > -1 || hasOwn(n, "default")) && i.push(e)1035 }1036 }1037 }1038 const c = [a, i];1039 return r.set(e, c), c1040}1041function validatePropName(e) {1042 return "$" !== e[0]1043}1044function getType(e) {1045 const t = e && e.toString().match(/^\s*function (\w+)/);1046 return t ? t[1] : ""1047}1048function isSameType(e, t) {1049 return getType(e) === getType(t)1050}1051function getTypeIndex(e, t) {1052 return w(t) ? t.findIndex((t => isSameType(t, e))) : isFunction(t) && isSameType(t, e) ? 0 : -11053}1054const isInternalKey = e => "_" === e[0] || "$stable" === e,1055 normalizeSlotValue = e => w(e) ? e.map(normalizeVNode) : [normalizeVNode(e)], normalizeSlot$1 = (e, t, n) => {1056 const r = withCtx((e => normalizeSlotValue(t(e))), n);1057 return r._c = !1, r1058 }, normalizeObjectSlots = (e, t, n) => {1059 const r = e._ctx;1060 for (const o in e) {1061 if (isInternalKey(o)) continue;1062 const n = e[o];1063 if (isFunction(n)) t[o] = normalizeSlot$1(0, n, r); else if (null != n) {1064 const e = normalizeSlotValue(n);1065 t[o] = () => e1066 }1067 }1068 }, normalizeVNodeSlots = (e, t) => {1069 const n = normalizeSlotValue(t);1070 e.slots.default = () => n1071 };1072function withDirectives(e, t) {1073 if (null === be) return e;1074 const n = be.proxy, r = e.dirs || (e.dirs = []);1075 for (let o = 0; o < t.length; o++) {1076 let [e, s, a, i = g] = t[o];1077 isFunction(e) && (e = {mounted: e, updated: e}), r.push({1078 dir: e,1079 instance: n,1080 value: s,1081 oldValue: void 0,1082 arg: a,1083 modifiers: i1084 })1085 }1086 return e1087}1088function invokeDirectiveHook(e, t, n, r) {1089 const o = e.dirs, s = t && t.dirs;1090 for (let a = 0; a < o.length; a++) {1091 const i = o[a];1092 s && (i.oldValue = s[a].value);1093 let l = i.dir[r];1094 l && (pauseTracking(), callWithAsyncErrorHandling(l, n, 8, [e.el, i, e, t]), resetTracking())1095 }1096}1097function createAppContext() {1098 return {1099 app: null,1100 config: {1101 isNativeTag: NO,1102 performance: !1,1103 globalProperties: {},1104 optionMergeStrategies: {},1105 errorHandler: void 0,1106 warnHandler: void 0,1107 compilerOptions: {}1108 },1109 mixins: [],1110 components: {},1111 directives: {},1112 provides: Object.create(null),1113 optionsCache: new WeakMap,1114 propsCache: new WeakMap,1115 emitsCache: new WeakMap1116 }1117}1118let Ne = 0;1119function createAppAPI(e, t) {1120 return function createApp2(n, r = null) {1121 null == r || isObject(r) || (r = null);1122 const o = createAppContext(), s = new Set;1123 let a = !1;1124 const i = o.app = {1125 _uid: Ne++,1126 _component: n,1127 _props: r,1128 _container: null,1129 _context: o,1130 _instance: null,1131 version: Ze,1132 get config() {1133 return o.config1134 },1135 set config(e) {1136 },1137 use: (e, ...t) => (s.has(e) || (e && isFunction(e.install) ? (s.add(e), e.install(i, ...t)) : isFunction(e) && (s.add(e), e(i, ...t))), i),1138 mixin: e => (o.mixins.includes(e) || o.mixins.push(e), i),1139 component: (e, t) => t ? (o.components[e] = t, i) : o.components[e],1140 directive: (e, t) => t ? (o.directives[e] = t, i) : o.directives[e],1141 mount(s, l, c) {1142 if (!a) {1143 const u = De(n, r);1144 return u.appContext = o, l && t ? t(u, s) : e(u, s, c), a = !0, i._container = s, s.__vue_app__ = i, u.component.proxy1145 }1146 },1147 unmount() {1148 a && (e(null, i._container), delete i._container.__vue_app__)1149 },1150 provide: (e, t) => (o.provides[e] = t, i)1151 };1152 return i1153 }1154}1155const Ie = {scheduler: queueJob, allowRecurse: !0}, Me = function queueEffectWithSuspense(e, t) {1156 t && t.pendingBranch ? w(e) ? t.effects.push(...e) : t.effects.push(e) : function queuePostFlushCb(e) {1157 queueCb(e, he, de, me)1158 }(e)1159}, setRef = (e, t, n, r, o = !1) => {1160 if (w(e)) return void e.forEach(((e, s) => setRef(e, t && (w(t) ? t[s] : t), n, r, o)));1161 if (isAsyncWrapper(r) && !o) return;1162 const s = 4 & r.shapeFlag ? r.component.exposed || r.component.proxy : r.el, a = o ? null : s, {i, r: l} = e,1163 c = t && t.r, u = i.refs === g ? i.refs = {} : i.refs, f = i.setupState;1164 if (null != c && c !== l && (isString$1(c) ? (u[c] = null, hasOwn(f, c) && (f[c] = null)) : isRef(c) && (c.value = null)), isString$1(l)) {1165 const doSet = () => {1166 u[l] = a, hasOwn(f, l) && (f[l] = a)1167 };1168 a ? (doSet.id = -1, Me(doSet, n)) : doSet()1169 } else if (isRef(l)) {1170 const doSet = () => {1171 l.value = a1172 };1173 a ? (doSet.id = -1, Me(doSet, n)) : doSet()1174 } else isFunction(l) && callWithErrorHandling(l, i, 12, [a, u])1175};1176function createRenderer(e) {1177 return function baseCreateRenderer(e, t) {1178 const {1179 insert: n,1180 remove: r,1181 patchProp: o,1182 forcePatchProp: s,1183 createElement: a,1184 createText: i,1185 createComment: l,1186 setText: c,1187 setElementText: u,1188 parentNode: f,1189 nextSibling: p,1190 setScopeId: d = NOOP,1191 cloneNode: m,1192 insertStaticContent: y1193 } = e, patch = (e, t, n, r = null, o = null, s = null, a = !1, i = null, l = !1) => {1194 e && !isSameVNodeType(e, t) && (r = getNextHostNode(e), unmount(e, o, s, !0), e = null), -2 === t.patchFlag && (l = !1, t.dynamicChildren = null);1195 const {type: c, ref: u, shapeFlag: f} = t;1196 switch (c) {1197 case Ve:1198 processText(e, t, n, r);1199 break;1200 case He:1201 processCommentNode(e, t, n, r);1202 break;1203 case Be:1204 null == e && mountStaticNode(t, n, r, a);1205 break;1206 case Le:1207 processFragment(e, t, n, r, o, s, a, i, l);1208 break;1209 default:1210 1 & f ? processElement(e, t, n, r, o, s, a, i, l) : 6 & f ? processComponent(e, t, n, r, o, s, a, i, l) : (64 & f || 128 & f) && c.process(e, t, n, r, o, s, a, i, l, R)1211 }1212 null != u && o && setRef(u, e && e.ref, s, t || e, !t)1213 }, processText = (e, t, r, o) => {1214 if (null == e) n(t.el = i(t.children), r, o); else {1215 const n = t.el = e.el;1216 t.children !== e.children && c(n, t.children)1217 }1218 }, processCommentNode = (e, t, r, o) => {1219 null == e ? n(t.el = l(t.children || ""), r, o) : t.el = e.el1220 }, mountStaticNode = (e, t, n, r) => {1221 [e.el, e.anchor] = y(e.children, t, n, r, e.el && [e.el, e.anchor])1222 }, moveStaticNode = ({el: e, anchor: t}, r, o) => {1223 let s;1224 for (; e && e !== t;) s = p(e), n(e, r, o), e = s;1225 n(t, r, o)1226 }, removeStaticNode = ({el: e, anchor: t}) => {1227 let n;1228 for (; e && e !== t;) n = p(e), r(e), e = n;1229 r(t)1230 }, processElement = (e, t, n, r, o, s, a, i, l) => {1231 a = a || "svg" === t.type, null == e ? mountElement(t, n, r, o, s, a, i, l) : patchElement(e, t, o, s, a, i, l)1232 }, mountElement = (e, t, r, s, i, l, c, f) => {1233 let p, d;1234 const {type: g, props: v, shapeFlag: y, transition: b, patchFlag: R, dirs: w} = e;1235 if (e.el && void 0 !== m && -1 === R) p = e.el = m(e.el); else {1236 if (p = e.el = a(e.type, l, v && v.is, v), 8 & y ? u(p, e.children) : 16 & y && mountChildren(e.children, p, null, s, i, l && "foreignObject" !== g, c, f || !!e.dynamicChildren), w && invokeDirectiveHook(e, null, s, "created"), v) {1237 for (const t in v) k(t) || o(p, t, null, v[t], l, e.children, s, i, unmountChildren);1238 (d = v.onVnodeBeforeMount) && invokeVNodeHook(d, s, e)1239 }1240 setScopeId(p, e, e.scopeId, c, s)1241 }1242 w && invokeDirectiveHook(e, null, s, "beforeMount");1243 const _ = (!i || i && !i.pendingBranch) && b && !b.persisted;1244 _ && b.beforeEnter(p), n(p, t, r), ((d = v && v.onVnodeMounted) || _ || w) && Me((() => {1245 d && invokeVNodeHook(d, s, e), _ && b.enter(p), w && invokeDirectiveHook(e, null, s, "mounted")1246 }), i)1247 }, setScopeId = (e, t, n, r, o) => {1248 if (n && d(e, n), r) for (let s = 0; s < r.length; s++) d(e, r[s]);1249 if (o) {1250 if (t === o.subTree) {1251 const t = o.vnode;1252 setScopeId(e, t, t.scopeId, t.slotScopeIds, o.parent)1253 }1254 }1255 }, mountChildren = (e, t, n, r, o, s, a, i, l = 0) => {1256 for (let c = l; c < e.length; c++) {1257 const l = e[c] = i ? cloneIfMounted(e[c]) : normalizeVNode(e[c]);1258 patch(null, l, t, n, r, o, s, a, i)1259 }1260 }, patchElement = (e, t, n, r, a, i, l) => {1261 const c = t.el = e.el;1262 let {patchFlag: f, dynamicChildren: p, dirs: d} = t;1263 f |= 16 & e.patchFlag;1264 const m = e.props || g, v = t.props || g;1265 let y;1266 if ((y = v.onVnodeBeforeUpdate) && invokeVNodeHook(y, n, t, e), d && invokeDirectiveHook(t, e, n, "beforeUpdate"), f > 0) {1267 if (16 & f) patchProps(c, t, m, v, n, r, a); else if (2 & f && m.class !== v.class && o(c, "class", null, v.class, a), 4 & f && o(c, "style", m.style, v.style, a), 8 & f) {1268 const i = t.dynamicProps;1269 for (let t = 0; t < i.length; t++) {1270 const l = i[t], u = m[l], f = v[l];1271 (f !== u || s && s(c, l)) && o(c, l, u, f, a, e.children, n, r, unmountChildren)1272 }1273 }1274 1 & f && e.children !== t.children && u(c, t.children)1275 } else l || null != p || patchProps(c, t, m, v, n, r, a);1276 const b = a && "foreignObject" !== t.type;1277 p ? patchBlockChildren(e.dynamicChildren, p, c, n, r, b, i) : l || patchChildren(e, t, c, null, n, r, b, i, !1), ((y = v.onVnodeUpdated) || d) && Me((() => {1278 y && invokeVNodeHook(y, n, t, e), d && invokeDirectiveHook(t, e, n, "updated")1279 }), r)1280 }, patchBlockChildren = (e, t, n, r, o, s, a) => {1281 for (let i = 0; i < t.length; i++) {1282 const l = e[i], c = t[i],1283 u = l.el && (l.type === Le || !isSameVNodeType(l, c) || 6 & l.shapeFlag || 64 & l.shapeFlag) ? f(l.el) : n;1284 patch(l, c, u, null, r, o, s, a, !0)1285 }1286 }, patchProps = (e, t, n, r, a, i, l) => {1287 if (n !== r) {1288 for (const c in r) {1289 if (k(c)) continue;1290 const u = r[c], f = n[c];1291 (u !== f || s && s(e, c)) && o(e, c, f, u, l, t.children, a, i, unmountChildren)1292 }1293 if (n !== g) for (const s in n) k(s) || s in r || o(e, s, n[s], null, l, t.children, a, i, unmountChildren)1294 }1295 }, processFragment = (e, t, r, o, s, a, l, c, u) => {1296 const f = t.el = e ? e.el : i(""), p = t.anchor = e ? e.anchor : i("");1297 let {patchFlag: d, dynamicChildren: m, slotScopeIds: g} = t;1298 m && (u = !0), g && (c = c ? c.concat(g) : g), null == e ? (n(f, r, o), n(p, r, o), mountChildren(t.children, r, p, s, a, l, c, u)) : d > 0 && 64 & d && m && e.dynamicChildren ? (patchBlockChildren(e.dynamicChildren, m, r, s, a, l, c), (null != t.key || s && t === s.subTree) && traverseStaticChildren(e, t, !0)) : patchChildren(e, t, r, p, s, a, l, c, u)1299 }, processComponent = (e, t, n, r, o, s, a, i, l) => {1300 t.slotScopeIds = i, null == e ? 512 & t.shapeFlag ? o.ctx.activate(t, n, r, a, l) : mountComponent(t, n, r, o, s, a, l) : updateComponent(e, t, l)1301 }, mountComponent = (e, t, n, r, o, s, a) => {1302 const i = e.component = function createComponentInstance(e, t, n) {1303 const r = e.type, o = (t ? t.appContext : e.appContext) || Qe, s = {1304 uid: Je++,1305 vnode: e,1306 type: r,1307 parent: t,1308 appContext: o,1309 root: null,1310 next: null,1311 subTree: null,1312 update: null,1313 render: null,1314 proxy: null,1315 exposed: null,1316 withProxy: null,1317 effects: null,1318 provides: t ? t.provides : Object.create(o.provides),1319 accessCache: null,1320 renderCache: [],1321 components: null,1322 directives: null,1323 propsOptions: normalizePropsOptions(r, o),1324 emitsOptions: normalizeEmitsOptions(r, o),1325 emit: null,1326 emitted: null,1327 propsDefaults: g,1328 inheritAttrs: r.inheritAttrs,1329 ctx: g,1330 data: g,1331 props: g,1332 attrs: g,1333 slots: g,1334 refs: g,1335 setupState: g,1336 setupContext: null,1337 suspense: n,1338 suspenseId: n ? n.pendingId : 0,1339 asyncDep: null,1340 asyncResolved: !1,1341 isMounted: !1,1342 isUnmounted: !1,1343 isDeactivated: !1,1344 bc: null,1345 c: null,1346 bm: null,1347 m: null,1348 bu: null,1349 u: null,1350 um: null,1351 bum: null,1352 da: null,1353 a: null,1354 rtg: null,1355 rtc: null,1356 ec: null,1357 sp: null1358 };1359 return s.ctx = {_: s}, s.root = t ? t.root : s, s.emit = emit.bind(null, s), s1360 }(e, r, o);1361 if (isKeepAlive(e) && (i.ctx.renderer = R), function setupComponent(e, t = !1) {1362 Xe = t;1363 const {props: n, children: r} = e.vnode, o = isStatefulComponent(e);1364 initProps(e, n, o, t), ((e, t) => {1365 if (32 & e.vnode.shapeFlag) {1366 const n = t._;1367 n ? (e.slots = toRaw(t), def(t, "_", n)) : normalizeObjectSlots(t, e.slots = {})1368 } else e.slots = {}, t && normalizeVNodeSlots(e, t);1369 def(e.slots, Ue, 1)1370 })(e, r);1371 const s = o ? function setupStatefulComponent(e, t) {1372 const n = e.type;1373 e.accessCache = Object.create(null), e.proxy = function markRaw(e) {1374 return def(e, "__v_skip", !0), e1375 }(new Proxy(e.ctx, qe));1376 const {setup: r} = n;1377 if (r) {1378 const n = e.setupContext = r.length > 1 ? function createSetupContext(e) {1379 const expose = t => {1380 e.exposed = proxyRefs(t)1381 };1382 return {attrs: e.attrs, slots: e.slots, emit: e.emit, expose}1383 }(e) : null;1384 Ye = e, pauseTracking();1385 const o = callWithErrorHandling(r, e, 0, [e.props, n]);1386 if (resetTracking(), Ye = null, isPromise(o)) {1387 if (t) return o.then((t => {1388 handleSetupResult(e, t)1389 })).catch((t => {1390 handleError(t, e, 0)1391 }));1392 e.asyncDep = o1393 } else handleSetupResult(e, o)1394 } else finishComponentSetup(e)1395 }(e, t) : void 0;1396 return Xe = !1, s1397 }(i), i.asyncDep) {1398 if (o && o.registerDep(i, setupRenderEffect), !e.el) {1399 const e = i.subTree = De(He);1400 processCommentNode(null, e, t, n)1401 }1402 } else setupRenderEffect(i, e, t, n, o, s, a)1403 }, updateComponent = (e, t, n) => {1404 const r = t.component = e.component;1405 if (function shouldUpdateComponent(e, t, n) {1406 const {props: r, children: o, component: s} = e, {props: a, children: i, patchFlag: l} = t, c = s.emitsOptions;1407 if (t.dirs || t.transition) return !0;1408 if (!(n && l >= 0)) return !(!o && !i || i && i.$stable) || r !== a && (r ? !a || hasPropsChanged(r, a, c) : !!a);1409 if (1024 & l) return !0;1410 if (16 & l) return r ? hasPropsChanged(r, a, c) : !!a;1411 if (8 & l) {1412 const e = t.dynamicProps;1413 for (let t = 0; t < e.length; t++) {1414 const n = e[t];1415 if (a[n] !== r[n] && !isEmitListener(c, n)) return !01416 }1417 }1418 return !11419 }(e, t, n)) {1420 if (r.asyncDep && !r.asyncResolved) return void updateComponentPreRender(r, t, n);1421 r.next = t, function invalidateJob(e) {1422 const t = le.indexOf(e);1423 t > ce && le.splice(t, 1)1424 }(r.update), r.update()1425 } else t.component = e.component, t.el = e.el, r.vnode = t1426 }, setupRenderEffect = (e, t, n, r, o, s, a) => {1427 e.update = effect((function componentEffect() {1428 if (e.isMounted) {1429 let t, {next: n, bu: r, u: i, parent: l, vnode: c} = e, u = n;1430 n ? (n.el = c.el, updateComponentPreRender(e, n, a)) : n = c, r && invokeArrayFns(r), (t = n.props && n.props.onVnodeBeforeUpdate) && invokeVNodeHook(t, l, n, c);1431 const p = renderComponentRoot(e), d = e.subTree;1432 e.subTree = p, patch(d, p, f(d.el), getNextHostNode(d), e, o, s), n.el = p.el, null === u && function updateHOCHostEl({1433 vnode: e,1434 parent: t1435 }, n) {1436 for (; t && t.subTree === e;) (e = t.vnode).el = n, t = t.parent1437 }(e, p.el), i && Me(i, o), (t = n.props && n.props.onVnodeUpdated) && Me((() => invokeVNodeHook(t, l, n, c)), o)1438 } else {1439 let a;1440 const {el: i, props: l} = t, {bm: c, m: u, parent: f} = e;1441 if (c && invokeArrayFns(c), (a = l && l.onVnodeBeforeMount) && invokeVNodeHook(a, f, t), i && _) {1442 const hydrateSubTree = () => {1443 e.subTree = renderComponentRoot(e), _(i, e.subTree, e, o, null)1444 };1445 isAsyncWrapper(t) ? t.type.__asyncLoader().then((() => !e.isUnmounted && hydrateSubTree())) : hydrateSubTree()1446 } else {1447 const a = e.subTree = renderComponentRoot(e);1448 patch(null, a, n, r, e, o, s), t.el = a.el1449 }1450 if (u && Me(u, o), a = l && l.onVnodeMounted) {1451 const e = t;1452 Me((() => invokeVNodeHook(a, f, e)), o)1453 }1454 256 & t.shapeFlag && e.a && Me(e.a, o), e.isMounted = !0, t = n = r = null1455 }1456 }), Ie)1457 }, updateComponentPreRender = (e, t, n) => {1458 t.component = e;1459 const r = e.vnode.props;1460 e.vnode = t, e.next = null, function updateProps(e, t, n, r) {1461 const {props: o, attrs: s, vnode: {patchFlag: a}} = e, i = toRaw(o), [l] = e.propsOptions;1462 let c = !1;1463 if (!(r || a > 0) || 16 & a) {1464 let r;1465 setFullProps(e, t, o, s) && (c = !0);1466 for (const s in i) t && (hasOwn(t, s) || (r = C(s)) !== s && hasOwn(t, r)) || (l ? !n || void 0 === n[s] && void 0 === n[r] || (o[s] = resolvePropValue(l, i, s, void 0, e, !0)) : delete o[s]);1467 if (s !== i) for (const e in s) t && hasOwn(t, e) || (delete s[e], c = !0)1468 } else if (8 & a) {1469 const n = e.vnode.dynamicProps;1470 for (let r = 0; r < n.length; r++) {1471 let a = n[r];1472 const u = t[a];1473 if (l) if (hasOwn(s, a)) u !== s[a] && (s[a] = u, c = !0); else {1474 const t = S(a);1475 o[t] = resolvePropValue(l, i, t, u, e, !1)1476 } else u !== s[a] && (s[a] = u, c = !0)1477 }1478 }1479 c && trigger(e, "set", "$attrs")...
index.147aad71.js
Source:index.147aad71.js
...1320function initProps(instance, rawProps, isStateful, isSSR = false) {1321 const props = {};1322 const attrs = {};1323 def(attrs, InternalObjectKey, 1);1324 setFullProps(instance, rawProps, props, attrs);1325 if (isStateful) {1326 instance.props = isSSR ? props : shallowReactive(props);1327 } else {1328 if (!instance.type.props) {1329 instance.props = attrs;1330 } else {1331 instance.props = props;1332 }1333 }1334 instance.attrs = attrs;1335}1336function updateProps(instance, rawProps, rawPrevProps, optimized) {1337 const {props, attrs, vnode: {patchFlag}} = instance;1338 const rawCurrentProps = toRaw(props);1339 const [options] = instance.propsOptions;1340 if ((optimized || patchFlag > 0) && !(patchFlag & 16)) {1341 if (patchFlag & 8) {1342 const propsToUpdate = instance.vnode.dynamicProps;1343 for (let i = 0; i < propsToUpdate.length; i++) {1344 const key = propsToUpdate[i];1345 const value = rawProps[key];1346 if (options) {1347 if (hasOwn(attrs, key)) {1348 attrs[key] = value;1349 } else {1350 const camelizedKey = camelize(key);1351 props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance);1352 }1353 } else {1354 attrs[key] = value;1355 }1356 }1357 }1358 } else {1359 setFullProps(instance, rawProps, props, attrs);1360 let kebabKey;1361 for (const key in rawCurrentProps) {1362 if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {1363 if (options) {1364 if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) {1365 props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, void 0, instance);1366 }1367 } else {1368 delete props[key];1369 }1370 }1371 }1372 if (attrs !== rawCurrentProps) {1373 for (const key in attrs) {1374 if (!rawProps || !hasOwn(rawProps, key)) {1375 delete attrs[key];1376 }1377 }1378 }1379 }1380 trigger(instance, "set", "$attrs");1381}1382function setFullProps(instance, rawProps, props, attrs) {1383 const [options, needCastKeys] = instance.propsOptions;1384 if (rawProps) {1385 for (const key in rawProps) {1386 const value = rawProps[key];1387 if (isReservedProp(key)) {1388 continue;1389 }1390 let camelKey;1391 if (options && hasOwn(options, camelKey = camelize(key))) {1392 props[camelKey] = value;1393 } else if (!isEmitListener(instance.emitsOptions, key)) {1394 attrs[key] = value;1395 }1396 }...
note.js
Source:note.js
...1821 isSSR = false) {1822 const props = {};1823 const attrs = {};1824 def(attrs, InternalObjectKey, 1);1825 setFullProps(instance, rawProps, props, attrs);1826 // validation1827 {1828 validateProps(props, instance);1829 }1830 if (isStateful) {1831 // stateful1832 instance.props = isSSR ? props : shallowReactive(props);1833 }1834 else {1835 if (!instance.type.props) {1836 // functional w/ optional props, props === attrs1837 instance.props = attrs;1838 }1839 else {1840 // functional w/ declared props1841 instance.props = props;1842 }1843 }1844 instance.attrs = attrs;1845}1846function setFullProps(instance, rawProps, props, attrs) {1847 const [options, needCastKeys] = instance.propsOptions;1848 if (rawProps) {1849 for (const key in rawProps) {1850 const value = rawProps[key];1851 // key, ref are reserved and never passed down1852 if (isReservedProp(key)) {1853 continue;1854 }1855 // prop option names are camelized during normalization, so to support1856 // kebab -> camel conversion here we need to camelize the key.1857 let camelKey;1858 if (options && hasOwn(options, (camelKey = camelize(key)))) {1859 props[camelKey] = value;1860 }...
component.js
Source:component.js
...271 */272function initProps(instance, rawProps) {273 const props = {};274 const attrs = {};275 setFullProps(instance, rawProps, props, attrs);276 instance.props = shallowReactive(props);277 instance.attrs = attrs;278}279/**280 * Updatet die Eigenschaften der Web-Komponente.281 * @param {WebComponent} instance - Die Web-Komponente282 * @param {RawProps} newProps - Die neuen unverarbeiteten Eigenschaften283 * @param {RawProps} oldProps - Die alten unverarbeiteten Eigenschaften284 */285function updateProps(instance, newProps, oldProps) {286 const props = instance.props;287 const attrs = instance.attrs;288 const oldAttrs = assign({}, attrs);289 const rawCurrentProps = toRaw(props);290 const options = instance._propsOptions;291 const hasAttrsChanged = setFullProps(instance, newProps, props, attrs);292 for (const key in rawCurrentProps) {293 if (!newProps || !hasOwn(newProps, key)) {294 if (options) {295 if (oldProps && oldProps[key] !== undefined) {296 props[key] = resolvePropValue(options, oldProps, key, undefined, true);297 }298 } else {299 delete props[key];300 }301 }302 }303 if (hasAttrsChanged) {304 updateAttributes(instance, oldAttrs);305 }306}307/**308 * Updatet die Attribute der Komponente.309 * @param {BaseComponent} instance - Die Web-Komponente310 * @param {VNodeProps} [oldAttrs] - Die alten Attribute der Komponente311 */312function updateAttributes(instance, oldAttrs = EMPTY_OBJ) {313 patchProps(instance, oldAttrs, instance.attrs);314}315/**316 * Setzte die Eigenschaften aus dem virtuellen Knoten in die Eigenschaften und Attribute der Komponente ein.317 * @param {WebComponent} instance - Die Web-Komponente318 * @param {RawProps} rawProps - Die unverarbeiteten Eigenschaften aus dem virtuellen Knoten319 * @param {Record<string, *>} props - Die Eigenschaften der Web-Komponente320 * @param {Record<string, *>} attrs - Die Attribute der Web-Komponente321 * @returns {boolean} Wurden Attribute verändert?322 */323function setFullProps(instance, rawProps, props, attrs) {324 const options = instance._propsOptions;325 let hasAttrsChanged = false;326 if (rawProps) {327 for (const key in rawProps) {328 if (!isReservedProp(key)) {329 const value = rawProps[key];330 if (options && options[key]) {331 props[key] = value;332 } else if (value !== attrs[key]) {333 attrs[key] = value;334 hasAttrsChanged = true;335 }336 }337 }...
componentProps.js
Source:componentProps.js
...22 const props = {}23 const attrs = {}24 def(attrs, InternalObjectKey, 1)25 instance.propsDefaults = Object.create(null)26 setFullProps(instance, rawProps, props, attrs)27 for (const key in instance.propsOptions[0]) {28 if (!(key in props)) {29 props[key] = undefined30 }31 }32 {33 validateProps(rawProps || {}, props, instance)34 }35 if (isStateful) {36 instance.props = isSSR ? props : shallowReactive(props)37 } else {38 if (!instance.type.props) {39 instance.props = attrs40 } else {41 instance.props = props42 }43 }44 instance.attrs = attrs45}46export function updateProps (instance, rawProps, rawPrevProps, optimized) {47 const {48 props,49 attrs,50 vnode: { patchFlag }51 } = instance52 const rawCurrentProps = toRaw(props)53 const [options] = instance.propsOptions54 let hasAttrsChanged = false55 if (56 !(57 instance.type.__hmrId ||58 (instance.parent && instance.parent.type.__hmrId)59 ) &&60 (optimized || patchFlag > 0) &&61 !(patchFlag & 16)62 ) {63 if (patchFlag & 8) {64 const propsToUpdate = instance.vnode.dynamicProps65 for (let i = 0; i < propsToUpdate.length; i++) {66 let key = propsToUpdate[i]67 const value = rawProps[key]68 if (options) {69 if (hasOwn(attrs, key)) {70 if (value !== attrs[key]) {71 attrs[key] = value72 hasAttrsChanged = true73 }74 } else {75 const camelizedKey = camelize(key)76 props[camelizedKey] = resolvePropValue(77 options,78 rawCurrentProps,79 camelizedKey,80 value,81 instance,82 false83 )84 }85 } else {86 if (value !== attrs[key]) {87 attrs[key] = value88 hasAttrsChanged = true89 }90 }91 }92 }93 } else {94 if (setFullProps(instance, rawProps, props, attrs)) {95 hasAttrsChanged = true96 }97 let kebabKey98 for (const key in rawCurrentProps) {99 if (100 !rawProps ||101 (!hasOwn(rawProps, key) &&102 ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))103 ) {104 if (options) {105 if (106 rawPrevProps &&107 (rawPrevProps[key] !== undefined ||108 rawPrevProps[kebabKey] !== undefined)...
reactive.js
Source:reactive.js
...87 }88 }89 else {90 // å
¨é props æ´æ°91 setFullProps(instance, rawProps, props, attrs)92 // å 为æ°ç props æ¯å¨æçï¼æé£äºä¸å¨æ°ç props ä¸ä½åå¨äºæ§ç props ä¸çå¼è®¾ç½®ä¸º undefined93 let kebabKey94 for (const key in rawCurrentProps) {95 if (!rawProps ||96 (!hasOwn(rawProps, key) &&97 ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {98 if (options) {99 if (rawPrevProps &&100 (rawPrevProps[key] !== undefined ||101 rawPrevProps[kebabKey] !== undefined)) {102 props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, undefined)103 }104 }105 else {...
Using AI Code Generation
1const { setFullProps } = require('@playwright/test/lib/server/frames');2(async () => {3 const { chromium } = require('playwright');4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const frame = page.mainFrame();8 await frame.waitForSelector('h1');9 setFullProps(frame, {10 });11 console.log(frame.url(), frame.name());12 await browser.close();13})();14const { chromium } = require('playwright');15const browser = await chromium.launch();16const context = await browser.newContext();17const page = await context.newPage();18console.log(page.url());19await browser.close();20const { chromium } = require('playwright');21const browser = await chromium.launch();22const context = await browser.newContext({23 viewport: { width: 1280, height: 720 },24 userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',25});26const page = await context.newPage();27console.log(page.url());28await browser.close();29const { chromium } = require('playwright');30const browser = await chromium.launch();31const context = await browser.newContext({32 viewport: { width: 1280, height: 720 },33 userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',34});35const page = await context.newPage();36await page.setCookie({
Using AI Code Generation
1const { setFullProps } = require("@playwright/test/lib/utils/utils");2const { chromium } = require("playwright");3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const element = await page.$("text=Get Started");8 const props = await element.evaluate((e) => {9 const { boundingBox, ...rest } = e;10 return setFullProps(rest);11 });12 console.log(props);13 await browser.close();14})();
Using AI Code Generation
1const { setFullProps } = require("@playwright/test/lib/utils/utils");2const { test, expect } = require("@playwright/test");3test("test", async ({ page }) => {4 const element = await page.$("text=Docs");5 await setFullProps(element, { isHidden: false });6 await element.click();7});8const { setFullProps } = require("@playwright/test/lib/utils/utils");9module.exports = async ({ context }) => {10 context.addInitScript(setFullProps);11};12module.exports = {13 use: {14 viewport: { width: 1280, height: 720 },15 },16};17const { test, expect } = require("@playwright/test");18test("test", async ({ page }) => {19 const element = await page.$("text=Docs");20 await element.setFullProps({ isHidden: false });21 await element.click();22});23import { setFullProps } from "@playwright/test/lib/utils/utils";24module.exports = async ({ context }: { context: any })
Using AI Code Generation
1const { setFullProps } = require('playwright/lib/server/dom.js');2const { Page } = require('playwright/lib/server/page.js');3const { ElementHandle } = require('playwright/lib/server/elementHandler.js');4Page.prototype.setFullProps = async function (element, props) {5 const { context, mainFrame } = this;6 const jsHandle = await mainFrame.evaluateHandle(7 (element, props) => {8 setFullProps(element, props);9 return element;10 },11 );12 return ElementHandle.from(jsHandle);13};14const { chromium } = require('playwright');15(async () => {16 const browser = await chromium.launch();17 const page = await browser.newPage();18 await page.setFullProps(await page.$('body'), { style: 'background-color: red' });19 await page.screenshot({ path: 'google-red.png' });20 await browser.close();21})();22const { chromium } = require('playwright');23(async () => {24 const browser = await chromium.launch();25 const page = await browser.newPage();26 await (await page.$('body')).setStyle('background-color', 'red');27 await page.screenshot({ path: 'google-red.png' });28 await browser.close();29})();30- [Playwright - setFullProps](
Using AI Code Generation
1const { chromium } = require("playwright");2(async () => {3 const browser = await chromium.launch({ headless: false });4 const page = await browser.newPage();5 await page.screenshot({ path: `example.png` });6 await browser.close();7})();
Using AI Code Generation
1const { Playwright } = require('playwright-core/lib/server/playwright');2const playwright = new Playwright();3const browser = await playwright.chromium.launch();4const page = await browser.newPage();5const element = await page.$('div');6element.setFullProps({7});
Using AI Code Generation
1const {chromium} = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.waitForSelector('input.new-todo');7 await page.setFullProps('input.new-todo', {value: 'Learn Playwright'});8 await page.keyboard.press('Enter');9 await page.screenshot({path: 'todo.png'});10 await browser.close();11})();12const {chromium} = require('playwright');13(async () => {14 const browser = await chromium.launch();15 const context = await browser.newContext();16 const page = await context.newPage();17 await page.waitForSelector('input.new-todo');18 await page.setInputFiles('input.new-todo', 'file-to-upload.png');19 await page.screenshot({path: 'todo.png'});20 await browser.close();21})();22const {chromium} = require('playwright');23(async () => {24 const browser = await chromium.launch();25 const context = await browser.newContext();26 const page = await context.newPage();27 await page.setViewportSize({width: 640, height: 480});28 await page.screenshot({path: 'example.png'});29 await browser.close();30})();31const {chromium} = require('playwright');32(async () => {33 const browser = await chromium.launch();34 const context = await browser.newContext();35 const page = await context.newPage();36 await page.setViewportSize({width: 640, height: 480});
Using AI Code Generation
1const {chromium} = require('playwright');2(async () => {3 const browser = await chromium.launch({headless: false});4 const context = await browser.newContext();5 const page = await context.newPage();6 const frame = page.frame({ name: 'iframeResult' });7 const element = await frame.$('input[type="text"]');8 await frame.evaluate(element => element.disabled = false, element);9})();
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!