Best JavaScript code snippet using playwright-internal
browser.js
Source:browser.js
...1209 }1210 };1211 }1212 // this.$watch1213 function instanceWatch(source, cb, options) {1214 const publicThis = this.proxy;1215 const getter = isString(source)1216 ? () => publicThis[source]1217 : source.bind(publicThis);1218 return doWatch(getter, cb.bind(publicThis), options, this);1219 }1220 function traverse(value, seen = new Set()) {1221 if (!isObject(value) || seen.has(value)) {1222 return value;1223 }1224 seen.add(value);1225 if (isRef(value)) {1226 traverse(value.value, seen);1227 }
...
Application2.es.js
Source:Application2.es.js
...942 remove(instance.scope.effects, effect);943 }944 };945}946function instanceWatch(source, value, options) {947 const publicThis = this.proxy;948 const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);949 let cb;950 if (isFunction(value)) {951 cb = value;952 } else {953 cb = value.handler;954 options = value;955 }956 const cur = currentInstance;957 setCurrentInstance(this);958 const res = doWatch(getter, cb.bind(publicThis), options);959 if (cur) {960 setCurrentInstance(cur);...
Menu.js.es.js
Source:Menu.js.es.js
...890 remove(instance.scope.effects, effect);891 }892 };893}894function instanceWatch(source, value, options) {895 const publicThis = this.proxy;896 const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);897 let cb;898 if (isFunction(value)) {899 cb = value;900 } else {901 cb = value.handler;902 options = value;903 }904 const cur = currentInstance;905 setCurrentInstance(this);906 const res = doWatch(getter, cb.bind(publicThis), options);907 if (cur) {908 setCurrentInstance(cur);...
learnTypescripts.js
Source:learnTypescripts.js
...340// tsä¸å½æ°ä½¿ç¨thiså¾å
声æ以åbindæ¹æ³ä½¿ç¨341// const target = {342// name: 4,343// }344// function instanceWatch(345// this: object,346// source: string | Function,347// ): string {348// console.log(this);349// console.log(source);350// return "fasd";351// }352// const test = instanceWatch.bind(target);353// test('fadsf');354// å®å
¨å¯¼èªæä½ç¬¦( ?.) å空å±æ§è·¯å¾ä¸ºäºè§£å³å¯¼èªæ¶åéå¼ä¸ºnullæ¶ï¼é¡µé¢è¿è¡æ¶åºéçé®é¢ã355// The null hero's name is {{nullHero?.name}}356// é空æè¨æä½ç¬¦è½ç¡®å®åéå¼ä¸å®ä¸ä¸ºç©ºæ¶ä½¿ç¨ãä¸å®å
¨å¯¼èªæä½ç¬¦ä¸åçæ¯ï¼é空æè¨æä½ç¬¦ä¸ä¼é²357// æ¢åºç° null æ undefinedã å®åªæ¯åè¯ TypeScript çç±»åæ£æ¥å¨å¯¹ç¹å®çå±æ§è¡¨è¾¾å¼ï¼ä¸358// å "ä¸¥æ ¼ç©ºå¼æ£æµ"...
setup.js
Source:setup.js
1/**2 * instance3 */4function createComponentInstance(vnode, parent, suspense) {5 const type = vnode.type;6 // inherit parent app context - or - if root, adopt from root vnode7 const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;8 const instance = {9 uid: uid$2++,10 vnode,11 type,12 parent,13 appContext,14 root: null,15 next: null,16 subTree: null,17 update: null,18 render: null,19 proxy: null,20 withProxy: null,21 effects: null,22 provides: parent ? parent.provides : Object.create(appContext.provides),23 accessCache: null,24 renderCache: [],25 // local resovled assets26 components: null,27 directives: null,28 // resolved props and emits options29 propsOptions: normalizePropsOptions(type, appContext),30 emitsOptions: normalizeEmitsOptions(type, appContext),31 // emit32 emit: null,33 emitted: null,34 // state35 ctx: EMPTY_OBJ,36 data: EMPTY_OBJ,37 props: EMPTY_OBJ,38 attrs: EMPTY_OBJ,39 slots: EMPTY_OBJ,40 refs: EMPTY_OBJ,41 setupState: EMPTY_OBJ,42 setupContext: null,43 // suspense related44 suspense,45 suspenseId: suspense ? suspense.pendingId : 0,46 asyncDep: null,47 asyncResolved: false,48 // lifecycle hooks49 // not using enums here because it results in computed properties50 isMounted: false,51 isUnmounted: false,52 isDeactivated: false,53 bc: null,54 c: null,55 bm: null,56 m: null,57 bu: null,58 u: null,59 um: null,60 bum: null,61 da: null,62 a: null,63 rtg: null,64 rtc: null,65 ec: null66 };67 {68 instance.ctx = createRenderContext(instance);69 }70 instance.root = parent ? parent.root : instance;71 instance.emit = emit.bind(null, instance);72 {73 devtoolsComponentAdded(instance);74 }75 return instance;76}77 const publicPropertiesMap = extend(Object.create(null), {78 $: i => i,79 $el: i => i.vnode.el,80 $data: i => i.data,81 $props: i => ( shallowReadonly(i.props) ),82 $attrs: i => ( shallowReadonly(i.attrs) ),83 $slots: i => ( shallowReadonly(i.slots) ),84 $refs: i => ( shallowReadonly(i.refs) ),85 $parent: i => i.parent && i.parent.proxy,86 $root: i => i.root && i.root.proxy,87 $emit: i => i.emit,88 $options: i => ( resolveMergedOptions(i) ),89 $forceUpdate: i => () => queueJob(i.update),90 $nextTick: () => nextTick,91 $watch: i => ( instanceWatch.bind(i) )92 });93 // In dev mode, the proxy target exposes the same properties as seen on `this`94 // for easier console inspection. In prod mode it will be an empty object so95 // these properties definitions can be skipped.96 function createRenderContext(instance) {97 const target = {};98 // expose internal instance for proxy handlers99 Object.defineProperty(target, `_`, {100 configurable: true,101 enumerable: false,102 get: () => instance103 });104 // expose public properties105 Object.keys(publicPropertiesMap).forEach(key => {106 Object.defineProperty(target, key, {107 configurable: true,108 enumerable: false,109 get: () => publicPropertiesMap[key](instance),110 // intercepted by the proxy so no need for implementation,111 // but needed to prevent set errors112 set: NOOP113 });114 });115 // expose global properties116 const { globalProperties } = instance.appContext.config;117 Object.keys(globalProperties).forEach(key => {118 Object.defineProperty(target, key, {119 configurable: true,120 enumerable: false,121 get: () => globalProperties[key],122 set: NOOP123 });124 });125 return target;126 }127function setupComponent(instance, isSSR = false) {128 isInSSRComponentSetup = isSSR;129 const { props, children, shapeFlag } = instance.vnode;130 const isStateful = shapeFlag & 4 /* STATEFUL_COMPONENT */;131 initProps(instance, props, isStateful, isSSR);132 initSlots(instance, children);133 const setupResult = isStateful134 ? setupStatefulComponent(instance, isSSR)135 : undefined;136 isInSSRComponentSetup = false;137 return setupResult;138}139function setupStatefulComponent(instance, isSSR) {140 const Component = instance.type;141 {142 if (Component.name) {143 validateComponentName(Component.name, instance.appContext.config);144 }145 if (Component.components) {146 const names = Object.keys(Component.components);147 for (let i = 0; i < names.length; i++) {148 validateComponentName(names[i], instance.appContext.config);149 }150 }151 if (Component.directives) {152 const names = Object.keys(Component.directives);153 for (let i = 0; i < names.length; i++) {154 validateDirectiveName(names[i]);155 }156 }157 }158 // 0. create render proxy property access cache159 instance.accessCache = {};160 // 1. create public instance / render proxy161 // also mark it raw so it's never observed162 instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers);163 {164 exposePropsOnRenderContext(instance);165 }166 // 2. call setup()167 const { setup } = Component;168 if (setup) {169 const setupContext = (instance.setupContext =170 setup.length > 1 ? createSetupContext(instance) : null);171 currentInstance = instance;172 pauseTracking();173 const setupResult = callWithErrorHandling(setup, instance, 0 /* SETUP_FUNCTION */, [ shallowReadonly(instance.props) , setupContext]);174 resetTracking();175 currentInstance = null;176 if (isPromise(setupResult)) {177 if (isSSR) {178 // return the promise so server-renderer can wait on it179 return setupResult.then((resolvedResult) => {180 handleSetupResult(instance, resolvedResult);181 });182 }183 else {184 // async setup returned Promise.185 // bail here and wait for re-entry.186 instance.asyncDep = setupResult;187 }188 }189 else {190 handleSetupResult(instance, setupResult);191 }192 }193 else {194 finishComponentSetup(instance);195 }196}197function createSetupContext(instance) {198 {199 // We use getters in dev in case libs like test-utils overwrite instance200 // properties (overwrites should not be done in prod)201 return Object.freeze({202 get attrs() {203 return new Proxy(instance.attrs, attrHandlers);204 },205 get slots() {206 return shallowReadonly(instance.slots);207 },208 get emit() {209 return (event, ...args) => instance.emit(event, ...args);210 }211 });212 }213}214 const attrHandlers = {215 get: (target, key) => {216 {217 markAttrsAccessed();218 }219 return target[key];220 },221 set: () => {222 warn(`setupContext.attrs is readonly.`);223 return false;224 },225 deleteProperty: () => {226 warn(`setupContext.attrs is readonly.`);227 return false;228 }229 };230function handleSetupResult(instance, setupResult, isSSR) {231 if (isFunction(setupResult)) {232 // setup returned an inline render function233 instance.render = setupResult;234 }235 else if (isObject(setupResult)) {236 if ( isVNode(setupResult)) {237 warn(`setup() should not return VNodes directly - ` +238 `return a render function instead.`);239 }240 // setup returned bindings.241 // assuming a render function compiled from template is present.242 {243 instance.devtoolsRawSetupState = setupResult;244 }245 instance.setupState = proxyRefs(setupResult);246 {247 exposeSetupStateOnRenderContext(instance);248 }249 }250 else if ( setupResult !== undefined) {251 warn(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);252 }253 finishComponentSetup(instance);254}255 function proxyRefs(objectWithRefs) {256 return isReactive(objectWithRefs)257 ? objectWithRefs258 : new Proxy(objectWithRefs, shallowUnwrapHandlers);259 }260 const shallowUnwrapHandlers = {261 get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),262 set: (target, key, value, receiver) => {263 const oldValue = target[key];264 if (isRef(oldValue) && !isRef(value)) {265 oldValue.value = value;266 return true;267 }268 else {269 return Reflect.set(target, key, value, receiver);270 }271 }272 };273 // dev only274 function exposeSetupStateOnRenderContext(instance) {275 const { ctx, setupState } = instance;276 Object.keys(toRaw(setupState)).forEach(key => {277 if (key[0] === '$' || key[0] === '_') {278 warn(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +279 `which are reserved prefixes for Vue internals.`);280 return;281 }282 Object.defineProperty(ctx, key, {283 enumerable: true,284 configurable: true,285 get: () => setupState[key],286 set: NOOP287 });288 });289 }290function finishComponentSetup(instance, isSSR) {291 const Component = instance.type;292 // template / render function normalization293 if (!instance.render) {294 // could be set from setup()295 if (compile && Component.template && !Component.render) {296 {297 startMeasure(instance, `compile`);298 }299 Component.render = compile(Component.template, {300 isCustomElement: instance.appContext.config.isCustomElement,301 delimiters: Component.delimiters302 });303 {304 endMeasure(instance, `compile`);305 }306 }307 instance.render = (Component.render || NOOP);308 // for runtime-compiled render functions using `with` blocks, the render309 // proxy used needs a different `has` handler which is more performant and310 // also only allows a whitelist of globals to fallthrough.311 if (instance.render._rc) {312 instance.withProxy = new Proxy(instance.ctx, RuntimeCompiledPublicInstanceProxyHandlers);313 }314 }315 // support for 2.x options316 {317 currentInstance = instance;318 applyOptions(instance, Component);319 currentInstance = null;320 }321 // warn missing template/render322 if ( !Component.render && instance.render === NOOP) {323 /* istanbul ignore if */324 if (!compile && Component.template) {325 warn(`Component provided template option but ` +326 `runtime compilation is not supported in this build of Vue.` +327 ( ` Use "vue.esm-browser.js" instead.`328 ) /* should not happen */);329 }330 else {331 warn(`Component is missing template or render function.`);332 }333 }...
apiWatch.js
Source:apiWatch.js
1import {2 isRef,3 isShallow,4 ReactiveEffect,5 isReactive6} from '../reactivity/index.js'7import {8 EMPTY_OBJ,9 isObject,10 isArray,11 isFunction,12 isString,13 hasChanged,14 NOOP,15 remove,16 isMap,17 isSet,18 isPlainObject19} from '../shared/index.js'20import { queuePreFlushCb } from './scheduler.js'21import {22 currentInstance,23 setCurrentInstance,24 unsetCurrentInstance25} from './component.js'26import { queuePostRenderEffect } from './renderer.js'27export function watchEffect (effect, options) {28 return doWatch(effect, null, options)29}30export function watchPostEffect (effect, options) {31 return doWatch(effect, null, Object.assign(options || {}, { flush: 'post' }))32}33export function watchSyncEffect (effect, options) {34 return doWatch(effect, null, Object.assign(options || {}, { flush: 'sync' }))35}36const INITIAL_WATCHER_VALUE = {}37export function watch (source, cb, options) {38 if (!isFunction(cb)) return false39 return doWatch(source, cb, options)40}41/**42 * @param {ref reactive Array Function} source éè¦çå¬çæ°æ®43 * @param {*} cb åè°å½æ°44 * @param {*} options é
ç½®45 * @param {Boolean}immediate ç«å³æ§è¡46 * @param {Boolean} deep æ·±å±æ¬¡çå¬47 * @param {pre|post} flush åè°å½æ°çæ§è¡æ¶æºï¼ç»ä»¶æ´æ°åãæ´æ°åãæ´æ°æ¶48 *49 */50function doWatch (source, cb, { immediate, deep, flush } = EMPTY_OBJ) {51 const instance = currentInstance52 let getter53 let forceTrigger = false54 let isMultiSource = false55 // å¤çéè¦çå¬çæ°æ®56 // ref reactive Function [ref,reactive]57 if (isRef(source)) {58 // ref59 getter = () => source.value60 forceTrigger = isShallow(source)61 } else if (isReactive(source)) {62 // reactive63 getter = () => source64 deep = true65 } else if (isArray(source)) {66 // Array67 isMultiSource = true68 forceTrigger = source.some(isReactive)69 getter = () =>70 source.map(s => {71 if (isRef(s)) {72 return s.value73 } else if (isReactive(s)) {74 return traverse(s)75 } else if (isFunction(s)) {76 return s()77 }78 })79 } else if (isFunction(source)) {80 if (cb) {81 // getter with cb82 getter = () => source()83 } else {84 // no cb -> simple effect85 getter = () => {86 if (instance && instance.isUnmounted) {87 return88 }89 if (cleanup) {90 cleanup()91 }92 return source(onCleanup)93 }94 }95 } else {96 getter = NOOP97 }98 // æ·±å±æ¬¡çå¬99 if (cb && deep) {100 const baseGetter = getter101 // éå½102 getter = () => traverse(baseGetter())103 }104 let cleanup105 let onCleanup = fn => {106 cleanup = effect.onStop = () => fn()107 }108 let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE109 // è°åº¦ä»»å¡(çå¬å¼æ¹ååæ§è¡çä»»å¡)110 const job = () => {111 if (!effect.active) {112 return113 }114 if (cb) {115 // watch(source, cb)116 const newValue = effect.run()117 if (118 deep ||119 forceTrigger ||120 (isMultiSource121 ? newValue.some((v, i) => hasChanged(v, oldValue[i]))122 : hasChanged(newValue, oldValue)) ||123 false124 ) {125 // æ¸
ç effect126 if (cleanup) {127 cleanup()128 }129 // åè°å½æ°æ§è¡130 cb(131 newValue,132 // pass undefined as the old value when it's changed for the first time133 oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,134 onCleanup135 )136 oldValue = newValue137 }138 } else {139 // watchEffect140 effect.run()141 }142 }143 // å
许éå½144 job.allowRecurse = !!cb // true145 let scheduler146 // åè°å½æ°çæ§è¡æ¶æº147 // åæ¥148 if (flush === 'sync') {149 scheduler = job150 } else if (flush === 'post') {151 // ç»ä»¶æ´æ°åè°ç¨152 scheduler = () => queuePostRenderEffect(job, instance && instance.suspense)153 } else {154 // é»è®¤ç»ä»¶æ´æ°åååè°å½æ°æ§è¡155 scheduler = () => {156 // ç»ä»¶æ¯å¦æè½½157 if (!instance || instance.isMounted) {158 // ç»ä»¶å®ä¾ä¸åå¨æè
ç»ä»¶å·²ç»æè½½159 // å¼æ¥éå160 queuePreFlushCb(job)161 } else {162 // pre éåå¿
é¡»å¨ç»ä»¶æè½½ååæ¥æ§è¡163 job()164 }165 }166 }167 const effect = new ReactiveEffect(getter, scheduler)168 // initial run169 if (cb) {170 // watch é»è®¤å½å¼æ¹åæ¶æ§è¡171 if (immediate) {172 // å
æ§è¡ä¸æ¬¡ watch çåè°å½æ°173 job()174 } else {175 oldValue = effect.run()176 }177 } else if (flush === 'post') {178 queuePostRenderEffect(179 effect.run.bind(effect),180 instance && instance.suspense181 )182 } else {183 effect.run()184 }185 return () => {186 // åæ¢çå¬187 effect.stop()188 if (instance && instance.scope) {189 remove(instance.scope.effects, effect)190 }191 }192}193export function instanceWatch (source, value, options) {194 const publicThis = this.proxy195 const getter = isString(source)196 ? source.includes('.')197 ? createPathGetter(publicThis, source)198 : () => publicThis[source]199 : source.bind(publicThis, publicThis)200 let cb201 if (isFunction(value)) {202 cb = value203 } else {204 cb = value.handler205 options = value206 }207 const cur = currentInstance208 setCurrentInstance(this)209 const res = doWatch(getter, cb.bind(publicThis), options)210 if (cur) {211 setCurrentInstance(cur)212 } else {213 unsetCurrentInstance()214 }215 return res216}217export function createPathGetter (ctx, path) {218 const segments = path.split('.')219 return () => {220 let cur = ctx221 for (let i = 0; i < segments.length && cur; i++) {222 cur = cur[segments[i]]223 }224 return cur225 }226}227export function traverse (value, seen) {228 if (!isObject(value) || value['__v_skip']) {229 return value230 }231 seen = seen || new Set()232 if (seen.has(value)) {233 return value234 }235 seen.add(value)236 if (isRef(value)) {237 traverse(value.value, seen)238 } else if (isArray(value)) {239 for (let i = 0; i < value.length; i++) {240 traverse(value[i], seen)241 }242 } else if (isSet(value) || isMap(value)) {243 value.forEach(v => {244 traverse(v, seen)245 })246 } else if (isPlainObject(value)) {247 for (const key in value) {248 traverse(value[key], seen)249 }250 }251 return value...
componentPublicInstance.js
Source:componentPublicInstance.js
1import {2 extend,3 NOOP,4 EMPTY_OBJ,5 hasOwn,6 isGloballyWhitelisted7} from '../shared/index.js'8import { nextTick, queueJob } from './scheduler.js'9import { resolveMergedOptions, shouldCacheAccess } from './componentOptions.js'10import { shallowReadonly, track } from '../reactivity/index.js'11export const getPublicInstance = i => {12 if (!i) return null13 if (isStatefulComponent(i)) return getExposeProxy(i) || i.proxy14 return getPublicInstance(i.parent)15}16export const PublicInstanceProxyHandlers = {17 get ({ _: instance }, key) {18 const {19 ctx,20 setupState,21 data,22 props,23 accessCache,24 type,25 appContext26 } = instance27 let normalizedProps28 if (key[0] !== '$') {29 const n = accessCache[key]30 if (n !== undefined) {31 switch (n) {32 case 1:33 return setupState[key]34 case 2:35 return data[key]36 case 4:37 return ctx[key]38 case 3:39 return props[key]40 }41 } else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {42 accessCache[key] = 143 return setupState[key]44 } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {45 accessCache[key] = 246 return data[key]47 } else if (48 (normalizedProps = instance.propsOptions[0]) &&49 hasOwn(normalizedProps, key)50 ) {51 accessCache[key] = 352 return props[key]53 } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {54 accessCache[key] = 455 return ctx[key]56 } else if (shouldCacheAccess) {57 accessCache[key] = 058 }59 }60 const publicGetter = publicPropertiesMap[key]61 let cssModule, globalProperties62 if (publicGetter) {63 if (key === '$attrs') {64 track(instance, 'get', key)65 }66 return publicGetter(instance)67 } else if (68 (cssModule = type.__cssModules) &&69 (cssModule = cssModule[key])70 ) {71 return cssModule72 } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {73 accessCache[key] = 474 return ctx[key]75 } else if (76 ((globalProperties = appContext.config.globalProperties),77 hasOwn(globalProperties, key))78 ) {79 {80 return globalProperties[key]81 }82 }83 },84 set ({ _: instance }, key, value) {85 const { data, setupState, ctx } = instance86 if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {87 setupState[key] = value88 return true89 } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {90 data[key] = value91 return true92 } else if (hasOwn(instance.props, key)) {93 return false94 }95 if (key[0] === '$' && key.slice(1) in instance) {96 return false97 } else {98 if (key in instance.appContext.config.globalProperties) {99 Object.defineProperty(ctx, key, {100 enumerable: true,101 configurable: true,102 value103 })104 } else {105 ctx[key] = value106 }107 }108 return true109 },110 has (111 { _: { data, setupState, accessCache, ctx, appContext, propsOptions } },112 key113 ) {114 let normalizedProps115 return (116 !!accessCache[key] ||117 (data !== EMPTY_OBJ && hasOwn(data, key)) ||118 (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) ||119 ((normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key)) ||120 hasOwn(ctx, key) ||121 hasOwn(publicPropertiesMap, key) ||122 hasOwn(appContext.config.globalProperties, key)123 )124 },125 defineProperty (target, key, descriptor) {126 if (descriptor.get != null) {127 this.set(target, key, descriptor.get(), null)128 } else if (descriptor.value != null) {129 this.set(target, key, descriptor.value, null)130 }131 return Reflect.defineProperty(target, key, descriptor)132 }133}134export const RuntimeCompiledPublicInstanceProxyHandlers = extend(135 {},136 PublicInstanceProxyHandlers,137 {138 get (target, key) {139 if (key === Symbol.unscopables) {140 return141 }142 return PublicInstanceProxyHandlers.get(target, key, target)143 },144 has (_, key) {145 const has = key[0] !== '_' && !isGloballyWhitelisted(key)146 return has147 }148 }149)150export const publicPropertiesMap = extend(Object.create(null), {151 $: i => i,152 $el: i => i.vnode.el,153 $data: i => i.data,154 $props: i => shallowReadonly(i.props),155 $attrs: i => shallowReadonly(i.attrs),156 $slots: i => shallowReadonly(i.slots),157 $refs: i => shallowReadonly(i.refs),158 $parent: i => getPublicInstance(i.parent),159 $root: i => getPublicInstance(i.root),160 $emit: i => i.emit,161 $options: i => resolveMergedOptions(i),162 $forceUpdate: i => () => queueJob(i.update),163 $nextTick: i => nextTick.bind(i.proxy),164 $watch: i => instanceWatch.bind(i)...
listed.js
Source:listed.js
1function makeMap(str, expectsLowerCase) {2 const map = Object.create(null);3 const list = str.split(',');4 for (let i = 0; i < list.length; i++) {5 map[list[i]] = true;6 }7 return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];8}9const PatchFlagNames = {10 [1 /* TEXT */ ]: `TEXT`,11 [2 /* CLASS */ ]: `CLASS`,12 [4 /* STYLE */ ]: `STYLE`,13 [8 /* PROPS */ ]: `PROPS`,14 [16 /* FULL_PROPS */ ]: `FULL_PROPS`,15 [32 /* HYDRATE_EVENTS */ ]: `HYDRATE_EVENTS`,16 [64 /* STABLE_FRAGMENT */ ]: `STABLE_FRAGMENT`,17 [128 /* KEYED_FRAGMENT */ ]: `KEYED_FRAGMENT`,18 [256 /* UNKEYED_FRAGMENT */ ]: `UNKEYED_FRAGMENT`,19 [512 /* NEED_PATCH */ ]: `NEED_PATCH`,20 [1024 /* DYNAMIC_SLOTS */ ]: `DYNAMIC_SLOTS`,21 [2048 /* DEV_ROOT_FRAGMENT */ ]: `DEV_ROOT_FRAGMENT`,22 [-1 /* HOISTED */ ]: `HOISTED`,23 [-2 /* BAIL */ ]: `BAIL`24};25const slotFlagsText = {26 [1 /* STABLE */ ]: 'STABLE',27 [2 /* DYNAMIC */ ]: 'DYNAMIC',28 [3 /* FORWARDED */ ]: 'FORWARDED'29};30const GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' + 31'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +32'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';33const extend = Object.assign;34const publicPropertiesMap = extend(Object.create(null), {35 $: i => i,36 $el: i => i.vnode.el,37 $data: i => i.data,38 $props: i => (shallowReadonly(i.props)),39 $attrs: i => (shallowReadonly(i.attrs)),40 $slots: i => (shallowReadonly(i.slots)),41 $refs: i => (shallowReadonly(i.refs)),42 $parent: i => getPublicInstance(i.parent),43 $root: i => getPublicInstance(i.root),44 $emit: i => i.emit,45 $options: i => (resolveMergedOptions(i)),46 $forceUpdate: i => () => queueJob(i.update),47 $nextTick: i => nextTick.bind(i.proxy),48 $watch: i => (instanceWatch.bind(i))49});50function createComponentInstance(vnode, parent, suspense) {51 const type = vnode.type;52 // inherit parent app context - or - if root, adopt from root vnode53 const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;54 const instance = {55 uid: uid$1++,56 vnode,57 type,58 parent,59 appContext,60 root: null,61 next: null,62 subTree: null,63 effect: null,64 update: null,65 scope: new EffectScope(true /* detached */ ),66 render: null,67 proxy: null,68 exposed: null,69 exposeProxy: null,70 withProxy: null,71 provides: parent ? parent.provides : Object.create(appContext.provides),72 accessCache: null,73 renderCache: [],74 // local resovled assets75 components: null,76 directives: null,77 // resolved props and emits options78 propsOptions: normalizePropsOptions(type, appContext),79 emitsOptions: normalizeEmitsOptions(type, appContext),80 // emit81 emit: null,82 emitted: null,83 // props default value84 propsDefaults: EMPTY_OBJ,85 // inheritAttrs86 inheritAttrs: type.inheritAttrs,87 // state88 ctx: EMPTY_OBJ,89 data: EMPTY_OBJ,90 props: EMPTY_OBJ,91 attrs: EMPTY_OBJ,92 slots: EMPTY_OBJ,93 refs: EMPTY_OBJ,94 setupState: EMPTY_OBJ,95 setupContext: null,96 // suspense related97 suspense,98 suspenseId: suspense ? suspense.pendingId : 0,99 asyncDep: null,100 asyncResolved: false,101 // lifecycle hooks102 // not using enums here because it results in computed properties103 isMounted: false,104 isUnmounted: false,105 isDeactivated: false,106 bc: null,107 c: null,108 bm: null,109 m: null,110 bu: null,111 u: null,112 um: null,113 bum: null,114 da: null,115 a: null,116 rtg: null,117 rtc: null,118 ec: null,119 sp: null120 }; {121 instance.ctx = createDevRenderContext(instance);122 }123 instance.root = parent ? parent.root : instance;124 instance.emit = emit$1.bind(null, instance);125 // apply custom element special handling126 if (vnode.ce) {127 vnode.ce(instance);128 }129 return instance;130}131console.log( publicPropertiesMap.$data )132const isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);...
Using AI Code Generation
1const playwright = require('playwright');2(async () => {3 const browser = await playwright.chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 const { instances } = await page._client.send('Playwright.getInstanceState');7 console.log(instances);8 await browser.close();9})();10[ { id: 1, type: 'page' } ]11const playwright = require('playwright');12(async () => {13 const browser = await playwright.chromium.launch({ headless: false });14 const context = await browser.newContext();15 const page = await context.newPage();16 const { instances } = await page._client.send('Playwright.getInstanceState');17 console.log(instances);18 await browser.close();19})();20[ { id: 1, type: 'page
Using AI Code Generation
1const { chromium } = require('playwright');2const { instanceWatch } = require('playwright/lib/instanceWatch');3(async () => {4 const browser = await chromium.launch();5 const page = await browser.newPage();6 await instanceWatch(browser);7})();8const { chromium } = require('playwright');9const { instanceWatch } = require('playwright/lib/instanceWatch');10(async () => {11 const browser = await chromium.launch();12 const page = await browser.newPage();13 await instanceWatch(browser);14})();15const { chromium } = require('playwright');16const { instanceWatch } = require('playwright/lib/instanceWatch');17(async () => {18 const browser = await chromium.launch();19 const page = await browser.newPage();20 await instanceWatch(browser);21})();22const { chromium } = require('playwright');23const { instanceWatch } = require('playwright/lib/instanceWatch');24(async () => {25 const browser = await chromium.launch();26 const page = await browser.newPage();27 await instanceWatch(browser);28})();29const { chromium } = require('playwright');30const { instanceWatch } = require('playwright/lib/instanceWatch');31(async () => {32 const browser = await chromium.launch();33 const page = await browser.newPage();34 await instanceWatch(browser);35})();36const { chromium } = require('playwright');37const { instanceWatch } = require('playwright/lib/instanceWatch');38(async () => {39 const browser = await chromium.launch();40 const page = await browser.newPage();41 await instanceWatch(browser);42})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 const context = page.context();6 const page2 = await context.newPage();7 const controller = await page2.context().newCDPSession(page2);8 await controller.send('Target.setAutoAttach', { autoAttach: true, waitForDebuggerOnStart: true, flatten: true });9 await controller.send('Target.setAutoAttach', { autoAttach: true, waitForDebuggerOnStart: true, flatten: true });10 await controller.send('Target.setDiscoverTargets', { discover: true });11 await controller.send('Target.setRemoteLocations', { locations: [{ host: 'localhost', port: 9222 }] });12 controller.on('Target.attachedToTarget', async ({ sessionId, targetInfo }) => {13 console.log(targetInfo);14 console.log(sessionId);15 const session = await controller.target().createCDPSession();16 await session.send('Runtime.runIfWaitingForDebugger');17 });18})();
Using AI Code Generation
1const { instanceWatch } = require('playwright/lib/server/instances');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 await page.screenshot({ path: 'example.png' });8 await browser.close();9})();10instanceWatch((instance) => {11 console.log('Instance is created: ', instance);12 instance.on('close', () => console.log('Instance is closed'));13});14instanceWatch((instance) => {15 console.log('Instance is created: ', instance);16 instance.on('close', () => console.log('Instance is closed'));17});18instanceWatch((instance) => {19 console.log('Instance is created: ', instance);20 instance.on('close', () => console.log('Instance is closed'));21});22instanceWatch((instance) => {23 console.log('Instance is created: ', instance);24 instance.on('close', () => console.log('Instance is closed'));25});26instanceWatch((instance) => {27 console.log('Instance is created: ', instance);28 instance.on('close', () => console.log('Instance is closed'));29});30instanceWatch((instance) => {31 console.log('Instance is created: ', instance);32 instance.on('close', () => console.log('Instance is closed'));33});34instanceWatch((instance) => {35 console.log('Instance is created: ', instance);36 instance.on('close', () => console.log('Instance is closed'));37});38instanceWatch((instance) => {39 console.log('Instance is created: ', instance);40 instance.on('close', () => console.log('Instance is closed'));41});42instanceWatch((instance) => {43 console.log('Instance is created: ', instance);44 instance.on('close
Using AI Code Generation
1const { firefox } = require('playwright');2const fs = require('fs');3const path = require('path');4const os = require('os');5(async () => {6 const browser = await firefox.launch({ headless: false });7 const context = await browser.newContext();8 const page = await context.newPage();9 await new Promise(r => setTimeout(r, 30000));10 const pwPath = path.join(os.homedir(), 'playwright');11 const pwTracePath = path.join(pwPath, 'trace');12 const tracePath = path.join(pwTracePath, 'trace.json');13 if (fs.existsSync(pwTracePath)) {14 fs.rmdirSync(pwTracePath, { recursive: true });15 }16 fs.mkdirSync(pwTracePath, { recursive: true });17 await page.tracing.start({ screenshots: true, snapshots: true });18 await new Promise(r => setTimeout(r, 30000));19 await page.tracing.stop({ path: tracePath });20 await browser.close();21})();22{23 {24 "args": {25 "data": {26 "headers": {27 "accept-language": "en-US,en;q=0.9",28 "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/90.0.4414.0 Safari/537.36"29 },30 },
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.waitForLoadState('networkidle');7 await page.screenshot({ path: `example.png` });8 await browser.close();9})();
Using AI Code Generation
1const { instanceWatch } = require('playwright-core/lib/server/browserServer');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch({ headless: false });5 const browserServer = browser._server;6 const wss = await instanceWatch(browserServer);7 wss.on('connection', (ws) => {8 ws.on('message', (message) => {9 console.log(message);10 });11 });12})();
Using AI Code Generation
1const playwright = require('playwright');2const internal = require('playwright/internal');3const browserType = playwright.chromium;4const browserOptions = {};5const browserServer = await browserType.launchServer(browserOptions);6const browserURL = browserServer.wsEndpoint();7const browser = await browserType.connect({ wsEndpoint: browserURL });8const watcher = internal.instanceWatch();9watcher.on('created', async (instance) => {10 console.log('New Instance Created');11 const browser = await browserType.connect({ wsEndpoint: browserURL });12 await browser.close();13 console.log('Browser Closed');14});15watcher.on('closed', () => {16 console.log('Instance Closed');17});18watcher.on('error', (error) => {19 console.log('Error Occurred');20 console.log(error);21});22await browserServer.launchBrowser(browserURL);23await browserServer.close();24watcher.close();
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!!