Best JavaScript code snippet using redwood
boorutagparser.user.js
Source:boorutagparser.user.js  
...62function replaceAll(str, originalstr, newstr)63{64    return str.split(originalstr).join(newstr);65}66function insertTags(tags, selector, prefix, stripns)67{68    if (typeof stripns === "undefined") {69        stripns = false;70    }71    var elements = document.querySelectorAll(selector);72    for (var i=0; i < elements.length; i++)73    {74        var element = elements[i];75        var text = element.innerHTML;76        if (text !== '-' && text !== '+' && text !== '?') // Don't copy - + or ?77        {78            text = replaceAll(text, '_', ' ');79            text = replaceAll(text, '>', '>');80            text = replaceAll(text, '<', '<');81            if (stripns) {82                text = text.match(".*?:(.*)")[1];83            }84            tags[tags.length] = prefix+text;85        }86    }87}88function insertRating(tags, selector)89{90    var elements = document.querySelectorAll(selector);91    for (var i=0; i < elements.length; i++)92    {93        var element = elements[i];94        var text = element.innerHTML;95        text = replaceAll(text.toLowerCase().trim(), ' ', '');96        if (text.indexOf('rating:explicit') >= 0)97        {98            tags[tags.length] = 'rating:explicit';99            break;100        }101        else if (text.indexOf('rating:questionable') >= 0)102        {103            tags[tags.length] = 'rating:questionable';104            break;105        }106        else if (text.indexOf('rating:safe') >= 0)107        {108            tags[tags.length] = 'rating:safe';109            break;110        }111    }112}113function copyNHentaiTags(noRating, callback)114{115    // nhentai has a json output we can use.116    // Which is nice because the tags are available even if viewing an individual file.117    var id = window.location.href.match('/g/(\\d+)/*')[1];118    if (!id)119        return;120    id = Number(id);121    fetch('http://nhentai.net/g/' + id + '/json').then(function(response) {122        return response.json();123    }).then(function(json) {124        var tags = [];125        if (json.tags)126        {127            for (var i=0; i < json.tags.length; i++)128            {129                var tagtype = json.tags[i][1];130                var tag = json.tags[i][2];131                // maintain schema consistency132                if (tagtype == 'group')133                    tagtype = 'studio';134                else if (tagtype == 'parody')135                    tagtype = 'series';136                else if (tagtype == 'artist')137                    tagtype = 'creator';138                if (tagtype != 'tag')139                    tag = tagtype + ':' + tag;140                tags[tags.length] = tag;141            }142        }143        if (attach_explicit)144            tags[tags.length] = 'rating:explicit';145        if (attach_gid && json.id)146            tags[tags.length] = 'gallery:' + json.id;147        copyTagsToClipboard(tags);148        if (callback)149            callback(tags);150    }).catch(function(err) {151        console.log('couldn\'t get json!');152    });153}154function copyBooruTags(noRating)155{156    var tags = [];157    // Instead of having a list of boorus and their tags and tag structures I just make a big catch-all.158    159    // danbooru-like-new160    insertTags(tags, '#tag-list li.tag-type-3 > a.search-tag', 'series:');161    insertTags(tags, '#tag-list li.tag-type-1 > a.search-tag', 'creator:');162    insertTags(tags, '#tag-list li.tag-type-4 > a.search-tag', 'character:');163    insertTags(tags, '#tag-list li.tag-type-0 > a.search-tag', '');    164    // danbooru-like-old165    insertTags(tags, '#tag-list li.category-3 > a.search-tag', 'series:');166    insertTags(tags, '#tag-list li.category-1 > a.search-tag', 'creator:');167    insertTags(tags, '#tag-list li.category-4 > a.search-tag', 'character:');168    insertTags(tags, '#tag-list li.category-0 > a.search-tag', '');169    // lolibooru-like170    insertTags(tags, 'li.tag-type-copyright > a', 'series:');171    insertTags(tags, 'li.tag-type-author > a', 'creator:');172    insertTags(tags, 'li.tag-type-artist > a', 'creator:');173    insertTags(tags, 'li.tag-type-character > a', 'character:');174    insertTags(tags, 'li.tag-type-model > a', 'model:');175    insertTags(tags, 'li.tag-type-idol > a', 'model:');176    insertTags(tags, 'li.tag-type-general > a', '');177    insertTags(tags, 'li.tag-type-studio > a', 'studio:');178    insertTags(tags, 'li.tag-type-circle > a', 'studio:');179    insertTags(tags, 'li.tag-type-medium > a', 'medium:');180    insertTags(tags, 'li.tag-type-style > a', 'medium:');181    insertTags(tags, 'li.tag-type-meta > a', 'meta:');182    insertTags(tags, 'li.tag-type-species > a', 'species:');183    insertTags(tags, 'li.tag-type-faults > a', 'fault:');184    insertTags(tags, 'li.tag-type-genre > a', 'genre:');185    // derpibooru-like186     insertTags(tags, '.tag-list [data-tag-category="origin"]:not([data-tag-name="edit"]):not([data-tag-slug="derpibooru+exclusive"]):not([data-tag-slug="edited+screencap"]):not([data-tag-slug="screencap"]):not([data-tag-slug="anonymous+artist"]):not([data-tag-slug="alternate+version"]):not([data-tag-slug="color+edit"]):not([data-tag-slug="them%27s+fightin%27+herds"]) > span > a', 'creator:', true); //Fixes a problem where the tag parser script would fail to work on pages with these tags, or multiple of these tags.187    insertTags(tags, '.tag-list .tag.tag-ns-oc > span > a', 'character:', true);188    insertTags(tags, '.tag-list .tag.tag-system > span > a', 'rating:');189    insertTags(tags, '.tag-list [class="tag dropdown"]:not([data-tag-category="character"]):not([data-tag-category="origin"]):not([data-tag-category="spoiler"]):not([data-tag-category="episode"]) > span > a', ''); // generic tags on derpibooru do not have a "namespace" class of their own, this seems to be the best way to match generic tags190    insertTags(tags, '.tag-list [data-tag-category="character"] > span > a', 'character:'); // grabs the new character tags on Derpibooru and gives them a proper character namespace for Hydrus191    insertTags(tags, '.tag-list [data-tag-category="episode"] > span > a', 'episode:'); // grabs the show episode title and gives it an episode namespace for Hydrus192    insertTags(tags, '[data-tag-name="edit"] > span > a', ''); //Since derpibooru has edits tagged as an artist, this converts that to a general edit tag193    insertTags(tags, '[data-tag-slug="derpibooru+exclusive"] > span > a', ''); //Since derpibooru has derpi exclusives tagged as an artist, this converts that to a general tag194    insertTags(tags, '[data-tag-slug="edited+screencap"] > span > a', ''); //makes the edited screencap into a general tag195    insertTags(tags, '[data-tag-slug="screencap"] > span > a', ''); //Makes the screencap tag into a general tag196    insertTags(tags, '[data-tag-slug="anonymous+artist"] > span > a', ''); //Makes Anon Artist into a general tag which Hydrus will then convert into a creator tag via tag siblings197    insertTags(tags, '[data-tag-slug="alternate+version"] > span > a', ''); //Since derpibooru has alternate versions tagged as an artist, this converts that to a general tag198    insertTags(tags, '[data-tag-slug="color+edit"] > span > a', ''); //Since derpibooru has color edits tagged as an artist, this converts that to a general tag199    insertTags(tags, '[data-tag-slug="them%27s+fightin%27+herds"] > span > a', 'series:'); //Adds them's fightin' herds as a series tag200    // sofurry like201    insertTags(tags, '.titlehover > a', '');202    203    // booru.org-like204    insertTags(tags, '#tag_list li a', '');205    // paheal-like206    insertTags(tags, 'a.tag_name', '');207    208    if (!noRating)209    {210        // danbooru-like211        insertRating(tags, '#post-information > ul li');212        // lolibooru-like213        insertRating(tags, '#stats > ul li');214        // booru.org-like215        insertRating(tags, '#tag_list ul');216    }217    copyTagsToClipboard(tags);218    return tags;219}220function insertI2VTags(tags, selector, prefix, confidenceRequired)...script.js
Source:script.js  
...15H2 | 'innerText'16H3 | 'innerText'17*/18let tagsAllowed = ['class', 'role', 'innerText', 'innerHTML', 'data-ga-category', 'data-ga-action', 'data-ga-label', 'href'];19function insertTags(tagToInsert, attributesObject, nodeToApply, numberOfClones) {20  let newTag = document.createElement(tagToInsert);21  for (i = 0; i < Object.keys(attributesObject).length; i++) {22    if (!tagsAllowed.includes(Object.keys(attributesObject)[i])) {23      return false;24    }25  }26  for (attribute in attributesObject) {27    if (attribute === 'innerHTML' || attribute === 'innerText') {28      if (attribute === 'innerHTML') {29        newTag.innerHTML = attributesObject['innerHTML'];30      }31      if (attribute === 'innerText') {32        newTag.innerText = attributesObject['innerText'];33      }34    } else {35      newTag.setAttribute(attribute, attributesObject[attribute]);36    }37  }38  for (let i = 0; i < numberOfClones; i++) {39    let clonedNode = newTag.cloneNode(true);40    nodeToApply.appendChild(clonedNode);41  }42}43let bodyDivs = [ // body childs44  'container',45  'site-section',46  'site-section site-section-video',47  'site-section',48  'aside'49];50for (let i=0; i<bodyDivs.length; i++) {51  insertTags('div', {52    class: bodyDivs[i]53  }, document.querySelector('body'), 1);54}55let firstDivDivs = [ // first div of body childs56  ['site-header clearfix', 'banner'], // 2 attributes for the first one ([0])57  'site-promo'58]59for (let i=0; i<firstDivDivs.length; i++) {60  if (i === 0) {61    insertTags('div', {62      class: firstDivDivs[i][0],63      role: firstDivDivs[i][1]64    }, document.querySelector('div'), 1);65  }66  else {67    insertTags('div', {68      class: firstDivDivs[i]69    }, document.querySelector('div'), 1);70  }71}72insertTags('div', {73  class: 'site-logo',74  'innerHTML': 'HTML5 <span class="star">â
</span> Boilerplate'75}, document.querySelector('div div'), 1);76insertTags('ul', {77  class: 'site-nav inline-block-list'78}, document.querySelector('div div'), 1);79insertTags('li', {80}, document.querySelector('div div ul'), 3);81insertTags('a', {82  href: 'https://github.com/h5bp/html5-boilerplate',83  'data-ga-category': 'Outbound links',84  'data-ga-action': 'Nav Click',85  'data-ga-label': 'Source Code',86  'innerText': 'Source Code'87}, document.querySelector('div div ul li'), 1);88insertTags('a', {89  href: 'https://github.com/h5bp/html5-boilerplate/blob/v8.0.0/dist/doc/TOC.md',90  'data-ga-category': 'Outbound links',91  'data-ga-action': 'Nav Click',92  'data-ga-label': 'Docs',93  'innerText': 'Docs'94}, document.querySelector('div div ul li').nextElementSibling, 1);95insertTags('a', {96  href: 'https://h5bp.org',97  'data-ga-category': 'Outbound links',98  'data-ga-action': 'Nav Click',99  'data-ga-label': 'Others projects',100  'innerText': 'Others projects'101}, document.querySelector('div div ul li').nextElementSibling.nextElementSibling, 1);102insertTags('h1', {103  'innerText': 'The webâs most popular front-end template'104}, document.querySelector('div div').nextElementSibling, 1);105insertTags('p', {106  class: 'description',107  'innerHTML': 'HTML5 Boilerplate helps you build <strong>fast</strong>, <strong>robust</strong>, and <strong>adaptable</strong> web apps or sites. Kick-start your project with the combined knowledge and effort of 100s of developers, all in one little package.'108}, document.querySelector('div div').nextElementSibling, 1);109insertTags('div', {110  class: 'cta-option'111}, document.querySelector('div div').nextElementSibling, 1);112insertTags('a', {113  class: 'btn btn-download',114  href: 'https://github.com/h5bp/html5-boilerplate/releases/download/v8.0.0/html5-boilerplate_v8.0.0.zip',115  'data-ga-category': 'Download',116  'data-ga-action': 'Download - Top',117  'data-ga-label':'v8.0.0'118}, document.querySelector('div div:last-child div'), 1);119insertTags('strong', {120  'innerText': 'Download'121}, document.querySelector('div div:last-child div a'), 1);122insertTags('span', {123  class: 'version',124  'innerText': 'v8.0.0'125}, document.querySelector('div div:last-child div a'), 1);126insertTags('a', {127  class: 'last-update',128  href: 'https://github.com/h5bp/html5-boilerplate/blob/v8.0.0/CHANGELOG.md',129  'data-ga-category': 'Outbound links',130  'data-ga-action': 'See the CHANGELOG',131  'data-ga-label':'v8.0.0',132  'innerText': 'See the CHANGELOG'133}, document.querySelector('div div:last-child div'), 1);134// END OF DIV CONTAINER135insertTags('div', {136  class: 'container',137}, document.querySelector('div').nextElementSibling, 1);138insertTags('h2', {139  'innerText': 'Save time. Create with confidence.'140}, document.querySelector('div').nextElementSibling.firstElementChild, 1);141insertTags('div', {142  class: 'grid',143}, document.querySelector('div').nextElementSibling.firstElementChild, 1);144insertTags('div', {145  class: 'grid-cell',146}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild, 4);147insertTags('h3', {148  'innerHTML': '<span class="star">â
</span> Analytics, icons, and more'149}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.firstElementChild, 1);150insertTags('p', {151  'innerText': 'A lean, mobile-friendly HTML template; optimized Google Analytics snippet; placeholder touch-device icon; and docs covering dozens of extra tips and tricks.'152}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.firstElementChild, 1);153insertTags('h3', {154  'innerHTML': '<span class="star">â
</span> Normalize.css and helpers'155}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.firstElementChild.nextElementSibling, 1);156insertTags('p', {157  'innerHTML': 'Includes <a href="https://necolas.github.io/normalize.css/">Normalize.css</a> â a modern, HTML5-ready alternative to CSS resets â and further base styles, helpers, media queries, and print styles.'158}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.firstElementChild.nextElementSibling, 1);159insertTags('h3', {160  'innerHTML': '<span class="star">â
</span> Modernizr'161}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.lastElementChild.previousElementSibling, 1);162insertTags('p', {163  'innerHTML': 'Get the latest minified versions of Modernizr: <a href="https://modernizr.com/">Modernizr</a> feature detection library, complete with a custom build configuration'164}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.lastElementChild.previousElementSibling, 1);165insertTags('h3', {166  'innerHTML': '<span class="star">â
</span> High performance'167}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.lastElementChild, 1);168insertTags('p', {169  'innerHTML': 'Apache settings to help you deliver excellent site performance. We independently maintain <a href="https://github.com/h5bp/server-configs">server configs</a> for multiple platforms.'170}, document.querySelector('div').nextElementSibling.firstElementChild.lastElementChild.lastElementChild, 1);171//END OF DIV SITE-SECTION172insertTags('h2', {173  'innerText': 'Introduction to v8'174}, document.querySelector('div').nextElementSibling.nextElementSibling, 1);175insertTags('div', {176  class: 'content'177}, document.querySelector('div').nextElementSibling.nextElementSibling, 1);178insertTags('p', {179  class: 'new',180  'innerText': 'What\'s new?'181}, document.querySelector('div').nextElementSibling.nextElementSibling.lastElementChild, 1);182insertTags('ul', {183  class: 'new',184}, document.querySelector('div').nextElementSibling.nextElementSibling.lastElementChild, 1);185let contentOfLisThirdDiv = [186  'Added a sample package.json with basic Parcel commands to jump start your app development',187  'Added sample Open Graph metadata',188  'Updated Modernizr and main.css',189  'Removed jQuery',190  'Set anonymizeIp to true in Google Analytics snippet',191  'Removed Browser Upgrade Prompt',192  'That\'s just the start of all the goodness. '193];194for (let i = 0; i < contentOfLisThirdDiv.length; i ++) {195  insertTags('li', {196    'innerText': contentOfLisThirdDiv[i]197  }, document.querySelector('div').nextElementSibling.nextElementSibling.lastElementChild.lastElementChild, 1);198}199insertTags('a', {200  href: 'https://github.com/h5bp/html5-boilerplate/blob/master/CHANGELOG.md',201  'innerText': 'Check out the Changelog for all the details.'202}, document.querySelector('div').nextElementSibling.nextElementSibling.lastElementChild.lastElementChild.lastElementChild, 1);203//END OF SITE-SECTION SITE-SECTION-VIDEO204insertTags('h2', {205  'innerText': 'Who uses HTML5 Boilerplate?'206}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling, 1);207insertTags('p', {208  class: 'in-the-wild'209}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling, 1);210insertTags('div', {211  class: 'cta-option'212}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling, 1);213let fourthDivLinksInParagraph = [214  ['https://www.microsoft.com/surface/', 'Microsoft'],215  ['https://data.nasa.gov/', 'NASA'],216  ['http://www.nikeskateboarding.com/', 'Nike'],217  ['https://www.barackobama.com/', 'Barack Obama'],218  ['https://www.itv.com/news/', 'ITV News'],219  ['https://creativecommons.org/', 'Creative Commons'],220  ['https://auspost.com.au/', 'Australia Post'],221  ['https://github.com/h5bp/html5-boilerplate/wiki/sites', 'many more']222]223for (let i = 0; i < fourthDivLinksInParagraph.length; i ++) {224  insertTags('a', {225    href: fourthDivLinksInParagraph[i][0],226    'innerText': fourthDivLinksInParagraph[i][1]227  }, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.nextElementSibling, 1);228  document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.nextElementSibling.appendChild(document.createTextNode(', '));229}230insertTags('a', {231  class: 'btn btn-download',232  href: 'https://github.com/h5bp/html5-boilerplate/releases/download/v8.0.0/html5-boilerplate_v8.0.0.zip',233  'data-ga-category': 'Download',234  'data-ga-action': 'Download - bottom',235  'data-ga-label': 'v8.0.0'236}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.lastElementChild, 1);237insertTags('strong', {238  'innerText':'Download'239}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.lastElementChild.firstElementChild, 1);240insertTags('span', {241  class: 'version',242  'innerText':'v8.0.0'243}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.lastElementChild.firstElementChild, 1);244//END OF SITE-SECTION245insertTags('div', {246  class: 'container'247}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling, 1);248insertTags('ul', {249  class: 'inline-block-list'250}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild, 1);251for (let i = 0; i < 3; i ++) {252  insertTags('li', {253  }, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild, 1);254}255insertTags('a', {256  href: 'https://github.com/h5bp/html5-boilerplate/issues',257  'data-ga-category': 'Outbound links',258  'data-ga-action': 'Footer click',259  'data-ga-label': 'Report issues'260}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.firstElementChild, 1);261insertTags('span', {262  class: 'Icon Icon--github'263}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.firstElementChild.firstElementChild, 1);264document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.firstElementChild.firstElementChild.appendChild(document.createTextNode('Report issues'));265insertTags('a', {266  href: 'https://stackoverflow.com/questions/tagged/html5boilerplate',267  'data-ga-category': 'Outbound links',268  'data-ga-action': 'Footer click',269  'data-ga-label': 'Help on Stack Overflow'270}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.firstElementChild.nextElementSibling, 1);271insertTags('span', {272  class: 'Icon Icon--stackoverflow'273}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.firstElementChild.nextElementSibling.firstElementChild, 1);274document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.firstElementChild.nextElementSibling.firstElementChild.appendChild(document.createTextNode(' Help on Stack Overflow'));275insertTags('a', {276  href: 'https://h5bp.net',277  'data-ga-category': 'Outbound links',278  'data-ga-action': 'Footer click',279  'data-ga-label': 'View the showcase'280}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.lastElementChild, 1);281insertTags('span', {282  class: 'Icon Icon--html5'283}, document.querySelector('div').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.firstElementChild.lastElementChild.firstElementChild, 1);...flowdocument.spec.ts
Source:flowdocument.spec.ts  
...34        const { segment: endSeg } = doc.getSegmentAndOffset(end);35        assert.strictEqual(doc.getStart(endSeg as Marker), startSeg);36        assert.strictEqual(doc.getEnd(startSeg as Marker), endSeg);37    }38    function insertTags(tags: string[], start: number, end?: number) {39        doc.insertTags(tags as TagName[], start, end);40    }41    describe("tags", () => {42        describe("insertTags", () => {43            it("insert tag into empty", () => {44                insertTags(["t"], 0);45                expect("<t></t>");46                verifyEnds(0, 1);47                expectTags(0, 1, ["t"]);48                expectTags(1);49            });50            it("insert tag around text", () => {51                doc.insertText(0, "012");52                expectTags(0, doc.length);53                insertTags(["a", "b"], 1, 2);54                expect("0<a><b>1</b></a>2");55                verifyEnds(1, 3);56                expectTags(0);57                expectTags(1, 3, ["a", "b"]);58                expectTags(3, 4);59            });60        });61        describe("removeRange", () => {62            describe("removing start implicitly removes end", () => {63                it("'[<t>]</t>' -> ''", () => {64                    insertTags(["t"], 0, 0);65                    expect("<t></t>");66                    doc.remove(0, 1);67                    expect("");68                });69                it("'0[1<a><b>2]3</b></a>4' -> '034'", () => {70                    doc.insertText(0, "01234");71                    insertTags(["a", "b"], 2, 4);72                    expect("01<a><b>23</b></a>4");73                    doc.remove(1, 4);74                    expect("034");75                });76            });77            describe("preserving start implicitly preserves end", () => {78                it("'<t>[</t>]' -> '<t></t>'", () => {79                    insertTags(["t"], 0, 0);80                    expect("<t></t>");81                    doc.remove(1, 2);82                    expect("<t></t>");83                });84                it("'0<t>1[</t>]2' -> '0<t>1[</t>]2'", () => {85                    doc.insertText(0, "012");86                    insertTags(["t"], 1, 2);87                    expect("0<t>1</t>2");88                    doc.remove(3, 4);89                    expect("0<t>1</t>2");90                });91                it("'0<t>[1</t>]' -> '0<t></t>'", () => {92                    doc.insertText(0, "01");93                    insertTags(["t"], 1, 2);94                    expect("0<t>1</t>");95                    doc.remove(2, 4);96                    expect("0<t></t>");97                });98            });99        });100        describe("LocalReference after last position", () => {101            it("can create", () => {102                const localRef = doc.addLocalRef(doc.length);103                assert.strictEqual(doc.localRefToPosition(localRef), doc.length);104                doc.removeLocalRef(localRef);105            });106        });107    });...Using AI Code Generation
1var redwood = require('redwood');2var options = {3  headers: {4  }5};6var req = redwood.request(options, function(res) {7  console.log('STATUS: ' + res.statusCode);8  console.log('HEADERS: ' + JSON.stringify(res.headers));9  res.setEncoding('utf8');10  res.on('data', function (chunk) {11    console.log('BODY: ' + chunk);12  });13});14req.write('{"tags": ["tag1", "tag2"]}');15req.end();16HEADERS: {"x-powered-by":"Express","content-type":"application/json; charset=utf-8","content-length":"15","etag":"W/"15-2e7b8f8d"","date":"Wed, 24 Apr 2013 22:28:11 GMT","connection":"close"}17BODY: {"success":true}18{19}Using AI Code Generation
1const { insertTags } = require('@redwoodjs/api')2const db = require('@redwoodjs/api/db')3const { PrismaClient } = require('@prisma/client')4const prisma = new PrismaClient()5const { logger } = require('@redwoodjs/api/logger')6const { getCurrentUser } = require('@redwoodjs/auth')7const { context } = require('@redwoodjs/api')8const { gql } = require('@redwoodjs/api')9const { makeServices } = require('@redwoodjs/api')10const { makeMigrations } = require('@redwoodjs/api')11const { makeSdl } = require('@redwoodjs/api')12const { makeSchema } = require('@redwoodjs/api')13const { makeServices } = require('@redwoodjs/api')14const { makeTranslations } = require('@redwoodjs/api')15const { makeTypes } = require('@redwoodjs/api')16const { router } = require('@redwoodjs/api')17const { webhooks } = require('@redwoodjs/api')18const { withCell } = require('@redwoodjs/web')19const { withCell } = require('@redwoodjs/web')20const { withCell } = require('@redwoodjs/web')21const { withCell } = require('@redwoodjs/web')22const { withCell } = require('@redwoodjs/web')23const { withCell } = require('@redwoodjs/web')24const { withCell } = require('@redwoodjs/web')25const { withCell } = require('@redwoodjs/web')26const { withCell } = require('@redwoodjs/web')Using AI Code Generation
1var redwood = require('redwood');2var rw = new redwood.Redwood();3rw.insertTags("test","test");4var redwood = require('redwood');5var rw = new redwood.Redwood();6rw.insertTags("test","test");7var redwood = require('redwood');8var rw = new redwood.Redwood();9rw.insertTags("test","test");10var redwood = require('redwood');11var rw = new redwood.Redwood();12rw.insertTags("test","test");13var redwood = require('redwood');14var rw = new redwood.Redwood();15rw.insertTags("test","test");16var redwood = require('redwood');17var rw = new redwood.Redwood();18rw.insertTags("test","test");19var redwood = require('redwood');20var rw = new redwood.Redwood();21rw.insertTags("test","test");22var redwood = require('redwood');23var rw = new redwood.Redwood();24rw.insertTags("test","test");25var redwood = require('redwood');26var rw = new redwood.Redwood();27rw.insertTags("test","test");28var redwood = require('redwood');29var rw = new redwood.Redwood();30rw.insertTags("test","test");31var redwood = require('redwood');32var rw = new redwood.Redwood();33rw.insertTags("test","test");34var redwood = require('redwood');35var rw = new redwood.Redwood();36rw.insertTags("test","testUsing AI Code Generation
1const redwood = require('redwood');2redwood.insertTags("covid",["corona","virus","pandemic"],function(err, data){3    if(err){4        console.log(err);5    }6    else{7        console.log(data);8    }9});10const redwood = require('redwood');11redwood.getTags("covid",function(err, data){12    if(err){13        console.log(err);14    }15    else{16        console.log(data);17    }18});19const redwood = require('redwood');20redwood.deleteTags("covid",["corona","virus","pandemic"],function(err, data){21    if(err){22        console.log(err);23    }24    else{25        console.log(data);26    }27});28const redwood = require('redwood');29redwood.getAllTags(function(err, data){30    if(err){31        console.log(err);32    }33    else{34        console.log(data);35    }36});37const redwood = require('redwood');38redwood.getAllTagsCount(function(err, data){39    if(err){40        console.log(err);41    }42    else{43        console.log(data);44    }45});46const redwood = require('redwood');47redwood.getAllTagsCountByType("covid",function(err, data){48    if(err){49        console.log(err);50    }51    else{52        console.log(data);53    }54});55const redwood = require('redwood');56redwood.getAllTagsCountByTypeAndTag("covid","corona",function(err, data){57    if(err){58        console.log(errUsing AI Code Generation
1var doc = redwood.activeDocument;2var newTag = new redwood.Tag("newtagname");3var paragraph = doc.paragraphs[0];4doc.insertTags([newTag], paragraph, "start");5doc.refresh();6doc.removeTags([newTag], paragraph, "start");7doc.refresh();8doc.insertTags([newTag], paragraph, "start");9doc.refresh();10doc.insertTags([newTag], paragraph, "end");11doc.refresh();12doc.removeTags([newTag], paragraph, "end");13doc.refresh();14doc.insertTags([newTag], paragraph, "end");15doc.refresh();16doc.removeTags([newTag], paragraph, "end");17doc.refresh();18doc.insertTags([newTag], paragraph, "end");19doc.refresh();20doc.removeTags([newTag], paragraph, "end");21doc.refresh();22doc.insertTags([newTag], paragraph, "end");23doc.refresh();Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
