@@ -24,8 +24,8 @@ styleSheet.flush()
24
24
25
25
*/
26
26
27
- function last ( ) {
28
- return this [ this . length - 1 ]
27
+ function last ( arr ) {
28
+ return arr [ arr . length - 1 ]
29
29
}
30
30
31
31
function sheetForTag ( tag ) {
@@ -42,7 +42,7 @@ function sheetForTag(tag) {
42
42
}
43
43
44
44
const isBrowser = typeof window !== 'undefined'
45
- const isDev = ( x => ( x === 'development' ) || ! x ) ( process . env . NODE_ENV )
45
+ const isDev = ( process . env . NODE_ENV === 'development' ) || ( ! process . env . NODE_ENV ) //( x => (x === 'development') || !x)(process.env.NODE_ENV)
46
46
const isTest = process . env . NODE_ENV === 'test'
47
47
48
48
const oldIE = ( ( ) => {
@@ -74,7 +74,7 @@ export class StyleSheet {
74
74
this . ctr = 0
75
75
}
76
76
getSheet ( ) {
77
- return sheetForTag ( this . tags :: last ( ) )
77
+ return sheetForTag ( last ( this . tags ) )
78
78
}
79
79
inject ( ) {
80
80
if ( this . injected ) {
@@ -129,7 +129,7 @@ export class StyleSheet {
129
129
// this.tags::last().styleSheet.cssText+= rule
130
130
// }
131
131
else {
132
- this . tags :: last ( ) . appendChild ( document . createTextNode ( rule ) )
132
+ last ( this . tags ) . appendChild ( document . createTextNode ( rule ) )
133
133
}
134
134
}
135
135
else {
@@ -143,42 +143,44 @@ export class StyleSheet {
143
143
}
144
144
return this . ctr - 1
145
145
}
146
- _replace ( index , rule ) {
147
- // this weirdness for perf, and chrome's weird bug
148
- // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule
149
- try {
150
- let sheet = this . getSheet ( )
151
- sheet . deleteRule ( index ) // todo - correct index here
152
- sheet . insertRule ( rule , index )
153
- }
154
- catch ( e ) {
155
- if ( isDev ) {
156
- // might need beter dx for this
157
- console . warn ( 'whoops, problem replacing rule' , rule ) //eslint-disable-line no-console
158
- }
159
- }
160
-
161
- }
162
- replace ( index , rule ) {
163
- if ( isBrowser ) {
164
- if ( this . isSpeedy && this . getSheet ( ) . insertRule ) {
165
- this . _replace ( index , rule )
166
- }
167
- else {
168
- let _slot = Math . floor ( ( index + this . maxLength ) / this . maxLength ) - 1
169
- let _index = ( index % this . maxLength ) + 1
170
- let tag = this . tags [ _slot ]
171
- tag . replaceChild ( document . createTextNode ( rule ) , tag . childNodes [ _index ] )
172
- }
173
- }
174
- else {
175
- this . sheet . cssRules = [ ...this . sheet . cssRules . slice ( 0 , index ) , { cssText : rule } , ...this . sheet . cssRules . slice ( index + 1 ) ]
176
- }
177
- }
178
- delete ( index ) {
179
- // we insert a blank rule when 'deleting' so previously returned indexes remain stable
180
- return this . replace ( index , '' )
181
- }
146
+ // commenting this out till we decide on v3's decision
147
+ // _replace(index, rule) {
148
+ // // this weirdness for perf, and chrome's weird bug
149
+ // // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule
150
+ // try {
151
+ // let sheet = this.getSheet()
152
+ // sheet.deleteRule(index) // todo - correct index here
153
+ // sheet.insertRule(rule, index)
154
+ // }
155
+ // catch(e) {
156
+ // if(isDev) {
157
+ // // might need beter dx for this
158
+ // console.warn('whoops, problem replacing rule', rule) //eslint-disable-line no-console
159
+ // }
160
+ // }
161
+
162
+ // }
163
+ // replace(index, rule) {
164
+ // if(isBrowser) {
165
+ // if(this.isSpeedy && this.getSheet().insertRule) {
166
+ // this._replace(index, rule)
167
+ // }
168
+ // else {
169
+ // let _slot = Math.floor((index + this.maxLength) / this.maxLength) - 1
170
+ // let _index = (index % this.maxLength) + 1
171
+ // let tag = this.tags[_slot]
172
+ // tag.replaceChild(document.createTextNode(rule), tag.childNodes[_index])
173
+ // }
174
+ // }
175
+ // else {
176
+ // let rules = this.sheet.cssRules
177
+ // this.sheet.cssRules = [ ...rules.slice(0, index), { cssText: rule }, ...rules.slice(index + 1) ]
178
+ // }
179
+ // }
180
+ // delete(index) {
181
+ // // we insert a blank rule when 'deleting' so previously returned indexes remain stable
182
+ // return this.replace(index, '')
183
+ // }
182
184
flush ( ) {
183
185
if ( isBrowser ) {
184
186
this . tags . forEach ( tag => tag . parentNode . removeChild ( tag ) )
0 commit comments