spectator | 🦊 πŸš€ A Powerful Tool to Simplify Your Angular Tests | Unit Testing library

Β by Β  ngneat TypeScript Version: v15.0.0 License: MIT

kandi X-RAY | spectator Summary

kandi X-RAY | spectator Summary

spectator is a TypeScript library typically used in Testing, Unit Testing, Angular applications. spectator has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

A Powerful Tool to Simplify Your Angular Tests. Spectator helps you get rid of all the boilerplate grunt work, leaving you with readable, sleek and streamlined unit tests.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              spectator has a medium active ecosystem.
              It has 1919 star(s) with 171 fork(s). There are 27 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 34 open issues and 289 have been closed. On average issues are closed in 18 days. There are 5 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of spectator is v15.0.0

            kandi-Quality Quality

              spectator has 0 bugs and 0 code smells.

            kandi-Security Security

              spectator has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              spectator code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              spectator is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              spectator releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.
              It has 544 lines of code, 0 functions and 251 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of spectator
            Get all kandi verified functions for this library.

            spectator Key Features

            No Key Features are available at this moment for spectator.

            spectator Examples and Code Snippets

            Create a new Collector MetricsReader for reporting .
            javadot img1Lines of Code : 7dot img1License : Permissive (MIT License)
            copy iconCopy
            @Bean
                @ConditionalOnProperty("jhipster.logging.spectator-metrics.enabled")
                @ExportMetricReader
                public SpectatorMetricReader SpectatorMetricReader(Registry registry) {
                    log.info("Initializing Spectator Metrics Log reporting");
                   

            Community Discussions

            QUESTION

            Search in JSON file and show value from field next to it
            Asked 2022-Mar-28 at 14:36

            ANSWER

            Answered 2022-Mar-28 at 14:36

            Not sure why you take a very nice json and you use it as a string to make your search. The most efficient and precise way is to loop the json object and find the items you want.

            So first of all, instead of opening the file line-by-line, load it all together, using file_get_contents instead of file

            Source https://stackoverflow.com/questions/71648588

            QUESTION

            "Decimal" flags (instead of binary) - built-in way?
            Asked 2022-Mar-17 at 23:20

            I have this formula which I got from some documentation, which is supposed to explain what a "Flags" integer represents:

            Flags = Spectator * 1 + TemporarySpectator * 10 + PureSpectator * 100 + AutoTarget * 1000 + CurrentTargetId * 10000

            I wrote this code which is able to convert a number (flags) to some booleans + one integer, just like in the formula:

            ...

            ANSWER

            Answered 2022-Mar-17 at 19:54

            FlagsAttribute for enums just controls how an enum will print when using ToString, and it will list out all values in a nice comma-separated list.

            What you are trying to do can be achieved by enums (optimally), but also can be achieved by using ints if you understand binary, or powers of 2.

            Using Enum

            Source https://stackoverflow.com/questions/71517786

            QUESTION

            Mocking generated API service
            Asked 2022-Mar-09 at 21:06

            In our Angular application, we are using services generated from API and we're facing issues with the unit tests for components or custom services that utilize them.

            ...

            ANSWER

            Answered 2022-Mar-06 at 22:05

            The problem here is that typescript aggregates all parameters and all return types. Therefore, its mock should also follow the aggregated type.

            In this case, (_: 'body') => of(CONNECTION_MOCK) is just 1 of 3. Typescript expects _ to be 'body' | 'response' | 'events', and the same happens with the return type: all 3 should be respected.

            All that leads to the point that it's simpler to use as never, because it's hard to implement the desired callback.

            Source https://stackoverflow.com/questions/69297698

            QUESTION

            Android build failed. showing "Resource compilation failed. Check logs for details."
            Asked 2022-Feb-28 at 05:46
            
                    Baseball is a bat-and-ball game played between two opposing teams, of nine players each, that take turns batting and fielding. The game proceeds when a player on the fielding team, called the pitcher, throws a ball which a player on the batting team tries to hit with a bat. The objective of the offensive team (batting team) is to hit the ball into the field of play, allowing its players to run the bases, having them advance counter-clockwise around four bases to score what are called "runs". The objective of the defensive team (fielding team) is to prevent batters from becoming runners, and to prevent runners' advance around the bases.[2] A run is scored when a runner legally advances around the bases in order and touches home plate (the place where the player started as a batter). The team that scores the most runs by the end of the game is the winner.The first objective of the batting team is to have a player reach first base safely. A player on the batting team who reaches first base without being called "out" can attempt to advance to subsequent bases as a runner, either immediately or during teammates' turns batting. The fielding team tries to prevent runs by getting batters or runners "out", which forces them out of the field of play. Both the pitcher and fielders have methods of getting the batting team's players out. The opposing teams switch back and forth between batting and fielding; the batting team's turn to bat is over once the fielding team records three outs. One turn batting for each team constitutes an inning. A game is usually composed of nine innings, and the team with the greater number of runs at the end of the game wins. If scores are tied at the end of nine innings, extra innings are usually played. Baseball has no game clock, although most games end in the ninth inning.Baseball evolved from older bat-and-ball games already being played in England by the mid-18th century. This game was brought by immigrants to North America, where the modern version developed. By the late 19th century, baseball was widely recognized as the national sport of the United States. Baseball is popular in North America and parts of Central and South America, the Caribbean, and East Asia, particularly in Japan, South Korea, and Taiwan.
                    Badminton is a racquet sport played using racquets to hit a shuttlecock across a net. Although it may be played with larger teams, the most common forms of the game are "singles" (with one player per side) and "doubles" (with two players per side). Badminton is often played as a casual outdoor activity in a yard or on a beach; formal games are played on a rectangular indoor court. Points are scored by striking the shuttlecock with the racquet and landing it within the opposing side's half of the court.Each side may only strike the shuttlecock once before it passes over the net. Play ends once the shuttlecock has struck the floor or if a fault has been called by the umpire, service judge, or (in their absence) the opposing side.[1]The shuttlecock is a feathered or (in informal matches) plastic projectile which flies differently from the balls used in many other sports. In particular, the feathers create much higher drag, causing the shuttlecock to decelerate more rapidly. Shuttlecocks also have a high top speed compared to the balls in other racquet sports. The flight of the shuttlecock gives the sport its distinctive nature.The game developed in British India from the earlier game of battledore and shuttlecock. European play came to be dominated by Denmark but the game has become very popular in Asia, with recent competitions dominated by China. Since 1992, badminton has been a Summer Olympic sport with four events: men's singles, women's singles, men's doubles, and women's doubles,[2] with mixed doubles added four years later. At high levels of play, the sport demands excellent fitness: players require aerobic stamina, agility, strength, speed, and precision. It is also a technical sport, requiring good motor coordination and the development of sophisticated racquet movements.[3
                    Basketball is a team sport in which two teams, most commonly of five players each, opposing one another on a rectangular court, compete with the primary objective of shooting a basketball (approximately 9.4 inches (24 cm) in diameter) through the defender's hoop (a basket 18 inches (46 cm) in diameter mounted 10 feet (3.048 m) high to a backboard at each end of the court), while preventing the opposing team from shooting through their own hoop. A field goal is worth two points, unless made from behind the three-point line, when it is worth three. After a foul, timed play stops and the player fouled or designated to shoot a technical foul is given one, two or three one-point free throws. The team with the most points at the end of the game wins, but if regulation play expires with the score tied, an additional period of play (overtime) is mandated.Players advance the ball by bouncing it while walking or running (dribbling) or by passing it to a teammate, both of which require considerable skill. On offense, players may use a variety of shots – the layup, the jump shot, or a dunk; on defense, they may steal the ball from a dribbler, intercept passes, or block shots; either offense or defense may collect a rebound, that is, a missed shot that bounces from rim or backboard. It is a violation to lift or drag one's pivot foot without dribbling the ball, to carry it, or to hold the ball with both hands then resume dribbling.The five players on each side fall into five playing positions. The tallest player is usually the center, the second-tallest and strongest is the power forward, a slightly shorter but more agile player is the small forward, and the shortest players or the best ball handlers are the shooting guard and the point guard, who implements the coach's game plan by managing the execution of offensive and defensive plays (player positioning). Informally, players may play three-on-three, two-on-two, and one-on-one
                    Bowling is a target sport and recreational activity in which a player rolls a ball toward pins (in pin bowling) or another target (in target bowling). The term bowling usually refers to pin bowling (most commonly ten-pin bowling), though in the United Kingdom and Commonwealth countries, bowling could also refer to target bowling, such as lawn bowls.In pin bowling, the goal is to knock over pins on a long playing surface known as a lane. Lanes have a wood or synthetic surface onto which protective lubricating oil is applied in different specified oil patterns that affect ball motion. A strike is achieved when all the pins are knocked down on the first roll, and a spare is achieved if all the pins are knocked over on a second roll. Common types of pin bowling include ten-pin, candlepin, duckpin, nine-pin, five-pin and kegel. The historical game skittles is the forerunner of modern pin bowling.In target bowling, the aim is usually to get the ball as close to a mark as possible. The surface in target bowling may be grass, gravel, or synthetic.[1] Lawn bowls, bocce, carpet bowls, pΓ©tanque, and boules may have both indoor and outdoor varieties. Curling is also related to bowls.Bowling is played by 120 million people in more than 90 countries (including 70 million in the United States alone),[2] and is the subject of video games.
                    Cycling, also called bicycling or biking, is the use of bicycles for transport, recreation, exercise or sport.[1] People engaged in cycling are referred to as "cyclists",[2] "bicyclists",[3] or "bikers".[4] Apart from two-wheeled bicycles, "cycling" also includes the riding of unicycles, tricycles, quadricycles, recumbent and similar human-powered vehicles (HPVs).Bicycles were introduced in the 19th century and now number approximately one billion worldwide.[5] They are the principal means of transportation in many parts of the world, especially in densely populated European cities.[6]Cycling is widely regarded as an effective and efficient mode of transportation[7][8] optimal for short to moderate distances.Bicycles provide numerous possible benefits in comparison with motor vehicles, including the sustained physical exercise involved in cycling, easier parking, increased maneuverability, and access to roads, bike paths and rural trails. Cycling also offers a reduced consumption of fossil fuels, less air or noise pollution, reduced greenhouse gas emissions,[9] and greatly reduced traffic congestion.[10] These have a lower financial cost for users as well as for society at large (negligible damage to roads, less road area required). By fitting bicycle racks on the front of buses, transit agencies can significantly increase the areas they can serve.[11]In addition, cycling provides a variety of health benefits.[12] The World Health Organization (WHO) states that cycling can reduce the risk of cancers, heart disease, and diabetes that are prevalent in sedentary lifestyles.[13][10] Cycling on stationary bikes have also been used as part of rehabilitation for lower limb injuries, particularly after hip surgery.[14] Individuals who cycle regularly have also reported mental health improvements, including less perceived stress and better vitality.[15]
                    Golf is a club-and-ball sport in which players use various clubs to hit balls into a series of holes on a course in as few strokes as possible.Golf, unlike most ball games, cannot and does not utilize a standardized playing area, and coping with the varied terrains encountered on different courses is a key part of the game. The game at the usual level is played on a course with an arranged progression of 18 holes, though recreational courses can be smaller, often having nine holes. Each hole on the course must contain a teeing ground to start from, and a putting green containing the actual hole or cup 4+1⁄4 inches (11 cm) in diameter. There are other standard forms of terrain in between, such as the fairway, rough (long grass), bunkers (or "sand traps"), and various hazards (water, rocks) but each hole on a course is unique in its specific layout and arrangement.Golf is played for the lowest number of strokes by an individual, known as stroke play, or the lowest score on the most individual holes in a complete round by an individual or team, known as match play. Stroke play is the most commonly seen format at all levels, but most especially at the elite level.The modern game of golf originated in 15th century Scotland. The 18-hole round was created at the Old Course at St Andrews in 1764. Golf's first major, and the world's oldest tournament in existence, is The Open Championship, also known as the British Open, which was first played in 1860 at the Prestwick Golf Club in Ayrshire, Scotland. This is one of the four major championships in men's professional golf, the other three being played in the United States: The Masters, the U.S. Open, and the PGA Championship
                    Running is a method of terrestrial locomotion allowing humans and other animals to move rapidly on foot. Running is a type of gait characterized by an aerial phase in which all feet are above the ground (though there are exceptions).[1] This is in contrast to walking, where one foot is always in contact with the ground, the legs are kept mostly straight and the center of gravity vaults over the stance leg or legs in an inverted pendulum fashion.[2] A feature of a running body from the viewpoint of spring-mass mechanics is that changes in kinetic and potential energy within a stride occur simultaneously, with energy storage accomplished by springy tendons and passive muscle elasticity.[3] The term running can refer to any of a variety of speeds ranging from jogging to sprinting.Running in humans is associated with improved health and life expectancy.[4]It is assumed that the ancestors of humankind developed the ability to run for long distances about 2.6 million years ago, probably in order to hunt animals.[5] Competitive running grew out of religious festivals in various areas. Records of competitive racing date back to the Tailteann Games in Ireland between 632 BCE and 1171 BCE,[6][7][8] while the first recorded Olympic Games took place in 776 BCE. Running has been described as the world's most accessible sport.[9]
                    "Soccer team" and "Soccer" redirect here. For the band, see Soccer Team (band). For other uses, see Soccer (disambiguation).This article is about the sport of association football. For other codes of football, see Football.Association football, more commonly known as simply football or soccer,[a] is a team sport played with a spherical ball between two teams of 11 players. It is played by approximately 250 million players in over 200 countries and dependencies, making it the world's most popular sport. The game is played on a rectangular field called a pitch with a goal at each end. The object of the game is to score more goals than the opposition by moving the ball beyond the goal line into the opposing goal, usually within a time frame of 90 or more minutes.Football is played in accordance with a set of rules known as the Laws of the Game. The ball is 68–70 cm (27–28 in) in circumference and known as the football. The two teams compete to get the ball into the other team's goal (between the posts and under the bar), thereby scoring a goal. Players are not allowed to touch the ball with hands or arms while it is in play, except for the goalkeepers within the penalty area. Players may use any other part of their body to strike or pass the ball and mainly use their feet. The team that scores more goals at the end of the game is the winner; if both teams have scored an equal number of goals, either a draw is declared or the game goes into extra time or a penalty shootout, depending on the format of the competition. Each team is led by a captain who has only one official responsibility as mandated by the Laws of the Game: to represent their team in the coin toss before kick-off or penalty kicks.[4]
                    Swimming is the self-propulsion of a person through water, or other liquid, usually for recreation, sport, exercise, or survival. Locomotion is achieved through coordinated movement of the limbs and the body to achieve hydrodynamic thrust which results in directional motion. Humans can hold their breath underwater and undertake rudimentary locomotive swimming within weeks of birth, as a survival response.[1]Swimming is consistently among the top public recreational activities,[2][3][4][5] and in some countries, swimming lessons are a compulsory part of the educational curriculum.[6] As a formalized sport, swimming features in a range of local, national, and international competitions, including every modern Summer Olympics.Swimming relies on the nearly neutral buoyancy of the human body. On average, the body has a relative density of 0.98 compared to water, which causes the body to float. However, buoyancy varies on the basis of body composition, lung inflation, muscle and fat content, centre of gravity and the salinity of the water. Higher levels of body fat and saltier water both lower the relative density of the body and increase its buoyancy. Human males tend to have a lower centre of gravity and higher muscle content, therefore find it more difficult to float or be buoyant. See also: Hydrostatic weighing.Since the human body is less dense than water, water is able to support the weight of the body during swimming. As a result, swimming is β€œlow-impact” compared to land activities such as running. The density and viscosity of water also create resistance for objects moving through the water. Swimming strokes use this resistance to create propulsion, but this same resistance also generates drag on the body.
                    Table tennis, also known as ping-pong and whiff-whaff, is a sport in which two or four players hit a lightweight ball, also known as the ping-pong ball, back and forth across a table using small solid rackets. The game takes place on a hard table divided by a net. Except for the initial serve, the rules are generally as follows: players must allow a ball played toward them to bounce once on their side of the table and must return it so that it bounces on the opposite side at least once. A point is scored when a player fails to return the ball within the rules. Play is fast and demands quick reactions. Spinning the ball alters its trajectory and limits an opponent's options, giving the hitter a great advantage.Table tennis is governed by the worldwide organization International Table Tennis Federation (ITTF), founded in 1926. ITTF currently includes 226 member associations.[3] The table tennis official rules are specified in the ITTF handbook.[4] Table tennis has been an Olympic sport since 1988,[5] with several event categories. From 1988 until 2004, these were men's singles, women's singles, men's doubles and women's doubles. Since 2008, a team event has been played instead of the doubles.The sport originated in Victorian England, where it was played among the upper-class as an after-dinner parlour game.[1][2] It has been suggested that makeshift versions of the game were developed by British military officers in India around the 1860s or 1870s, who brought it back with them.[6] A row of books stood up along the center of the table as a net, two more books served as rackets and were used to continuously hit a golf-ball.[7][8]The name "ping-pong" was in wide use before British manufacturer J and Son Ltd trademarked it in 1901. The name "ping-pong" then came to describe the game played using the rather expensive  equipment, with other manufacturers calling it table tennis. A similar situation arose in the United States, where  sold the rights to the "ping-pong" name to Parker Brothers. Parker Brothers then enforced its trademark for the term in the 1920s, making the various associations change their names to "table tennis" instead of the more common, but trademarked, term.[9]
                    Tennis is a racket sport that can be played individually against a single opponent (singles) or between two teams of two players each (doubles). Each player uses a tennis racket that is strung with cord to strike a hollow rubber ball covered with felt over or around a net and into the opponent's court. The object of the game is to manoeuvre the ball in such a way that the opponent is not able to play a valid return. The player who is unable to return the ball validly will not gain a point, while the opposite player will.[1][2]Tennis is an Olympic sport and is played at all levels of society and at all ages. The sport can be played by anyone who can hold a racket, including wheelchair users. The modern game of tennis originated in Birmingham, England, in the late 19th century as lawn tennis.[3] It had close connections both to various field (lawn) games such as croquet and bowls as well as to the older racket sport today called real tennis.[4]The rules of modern tennis have changed little since the 1890s. Two exceptions are that until 1961 the server had to keep one foot on the ground at all times,[5][6] and the adoption of the tiebreak in the 1970s.[7] A recent addition to professional tennis has been the adoption of electronic review technology coupled with a point-challenge system, which allows a player to contest the line call of a point, a system known as Hawk-Eye.[8][9]Tennis is played by millions of recreational players and is also a popular worldwide spectator sport.[10] The four Grand Slam tournaments (also referred to as the Majors) are especially popular: the Australian Open played on hard courts, the French Open played on red clay courts, Wimbledon played on grass courts, and the US Open also played on hard courts.[11]
                
            
            ...

            ANSWER

            Answered 2022-Feb-28 at 05:46

            Cheers everyone I just found it . The solution is just remove the single quotation mark this one '

            And if you want to use this mark then use like this

            Source https://stackoverflow.com/questions/71290646

            QUESTION

            How to implement a lane change manoeuver on Carla
            Asked 2022-Feb-18 at 17:52

            I am trying to implement a simple lane change manoeuver for a self driving car on Carla simulator. Specifically a left lane change. However when retrieving waypoints from the left lane ( using carla.Waypoint.get_left_lane() function ), the waypoints I get are oscillating between left and right lanes. Below is the script I used :

            ...

            ANSWER

            Answered 2022-Feb-18 at 17:52

            I just figured out the cause of the problem. The reason is that I was manipulating Carla waypoints as undirected points. However, in Carla, each waypoint is directed by the road direction.

            In the scene, I was testing my code in, all the roads have two lanes, each one in an opposite direction. Hence, the left lane of each lane is the remaining lane.

            The issue in the previous code was that I was not changing my view to match the direction of the lane. I was assuming a global reference frame, but in Carla, the waypoints are relative to the frames attached to their respective lanes. And since only one of the two coordinate frames (for each lane) was matching my imagined global reference frame, I was getting an oscillatory behavior.

            Another issue was that I was updating the target waypoints to track too early. This caused the vehicle to move a very short distance without going through all the target waypoints. I changed this to keep tracking the same target waypoint until the distance separating it to my vehicle becomes too close before moving to the next waypoint. This helped to perform the lane change behavior.

            Below is the script I used :

            Source https://stackoverflow.com/questions/71128092

            QUESTION

            Skript - Get the body of the code component
            Asked 2022-Feb-12 at 17:34

            I'm working on an extension for vs code that adds support for Skript syntax.

            I'm stuck on that I can't select the body of the code block. In total, there are several of them in the Skript syntax (commands, functions, events, and a few more). Each block starts with a zero indent (it's indent sensitive). I have provided an example Skript syntax below.

            ...

            ANSWER

            Answered 2022-Feb-12 at 17:34

            I believe you need something like this:

            Source https://stackoverflow.com/questions/71091619

            QUESTION

            Jest Async tests are confusing me
            Asked 2022-Jan-21 at 16:41

            Here is the scenario:

            Using Jest/Spectator to test RXJS observable but can't seem to get to the line of code I want to test via my current setup

            Component code -

            ...

            ANSWER

            Answered 2022-Jan-21 at 16:41

            I think I see your problem.

            If you have:

            Source https://stackoverflow.com/questions/70791497

            QUESTION

            Render image with json data | ReactJs
            Asked 2021-Nov-19 at 18:00

            So I'm trying to make the addition of project easier for me with a json data.

            Basically I'm creating blocks of projects and each project comes with an image, however even when the id == to the name I gave the image, the image does not render. Is there is any option for that or should I just give up on json files ?

            The reactjs code

            ...

            ANSWER

            Answered 2021-Nov-19 at 17:53

            I think the image is rendering but it is just too small to see

            try adding width and height.

            Source https://stackoverflow.com/questions/70038925

            QUESTION

            Bukkit Custom death system
            Asked 2021-Oct-29 at 12:24

            i'm making a bedwars plugin for a minecraft server, i'm actually at the custom death system, i have a code that works :

            ...

            ANSWER

            Answered 2021-Oct-29 at 12:24

            Put the count variable outside the method (i.e. public) is a good idea. Actually, you are doing this:

            1. count = 5. count -1 -> 4.
            2. count = 5. count -1 -> 4.
            3. count = 5. count -1 -> 4.
            4. etc...

            You have to set the counter as public, but also link it to the user. You can do it with a Map.

            There is also another solution, which is better: don't use lambda in this case, and use this instead :

            Source https://stackoverflow.com/questions/69768763

            QUESTION

            Global import of modules with Jest and Spectator
            Asked 2021-Oct-07 at 09:18

            In my Angular project, I have removed Karma in order to use Jest.js with Spectator instead. It works well, but now, as the module related to translations is a bit verbose, I am trying to import it globally. I read in the documentation of Spectator this can be done in test.js, but unless I am mistaken, that file is used by Karma, not by Jest.js. So I would like to know if it is possible to do global injections with Jest/Spectator, thanks!

            ...

            ANSWER

            Answered 2021-Oct-07 at 09:17

            For those using Jest, the global injections should be set in setupJest.ts

            Example:

            Source https://stackoverflow.com/questions/69296659

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install spectator

            You can download it from GitHub.

            Support

            By default, Spectator uses Jasmine for creating spies. If you are using Jest as test framework instead, you can let Spectator create Jest-compatible spies. Just import one of the following functions from @ngneat/spectator/jest(instead of @ngneat/spectator), and it will use Jest instead of Jasmine. createComponentFactory(), createHostFactory(), createServiceFactory(), createHttpFactory(), mockProvider().
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/ngneat/spectator.git

          • CLI

            gh repo clone ngneat/spectator

          • sshUrl

            git@github.com:ngneat/spectator.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link