Fix various typos
Found via `codespell -q 3 -L optio,promisses,usera`
This commit is contained in:
Родитель
e527c067d4
Коммит
ad97cdf444
|
@ -6,7 +6,7 @@ Thank you for reading this! Speckle's a rather wide network of parts that depend
|
|||
|
||||
> **Speckle** is a quite large ecosystem of moving parts. Any changes may have unintended effects, that can cause problems quickly for many people (and processes) that rely on Speckle.
|
||||
|
||||
This means that what might look like a simple quick change in one repo may have a big hidden cost that propagates around other parts of the project. We're all here to help each other, and this guide is meant to help you get started and promote a framework that can untangle all these dependecies through discussion!
|
||||
This means that what might look like a simple quick change in one repo may have a big hidden cost that propagates around other parts of the project. We're all here to help each other, and this guide is meant to help you get started and promote a framework that can untangle all these dependencies through discussion!
|
||||
|
||||
## Bugs & Issues 🐞
|
||||
|
||||
|
@ -45,7 +45,7 @@ Changes that are cosmetic in nature and do not add anything substantial to the s
|
|||
|
||||
Why? However trivial the changes might seem, there might be subtle reasons for the original code to be as it is. Furthermore, there are a lot of potential hidden costs (that even maintainers themselves are not aware of fully!) and they eat up review time unncessarily.
|
||||
|
||||
> **Examples**: modifying the colour of an UI element in one client may have a big hidden cost and need propagation in several other clients that implement a similar ui element. Changing the default port or specifiying `localhost` instead of `0.0.0.0` breaks cross-vm debugging and developing.
|
||||
> **Examples**: modifying the colour of an UI element in one client may have a big hidden cost and need propagation in several other clients that implement a similar ui element. Changing the default port or specifying `localhost` instead of `0.0.0.0` breaks cross-vm debugging and developing.
|
||||
|
||||
## Wrap up
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
<b>Connectors</b>
|
||||
are plugins for design and analysis software, they let you
|
||||
<b>exchange</b>
|
||||
geometry and BIM data dirctly from the tools you use.
|
||||
geometry and BIM data directly from the tools you use.
|
||||
</p>
|
||||
<p>
|
||||
Install our connectors and you'll instantly be able to
|
||||
|
@ -194,8 +194,8 @@
|
|||
<p>
|
||||
Commits can also be organized in
|
||||
<b>branches,</b>
|
||||
for instace, to have multiple design options or to store data by discipline. The
|
||||
dafault branch is called
|
||||
for instance, to have multiple design options or to store data by discipline. The
|
||||
default branch is called
|
||||
<i>main</i>
|
||||
.
|
||||
</p>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
v-model="description"
|
||||
label="Description"
|
||||
persistent-hint
|
||||
hint="A short description of your applicaiton."
|
||||
hint="A short description of your application."
|
||||
></v-textarea>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
|
|
|
@ -10,7 +10,7 @@ Comprehensive developer and user documentation can be found in our:
|
|||
|
||||
## Getting started
|
||||
|
||||
This is a small utility class that helps you stream an object and all its sub-components from the Speckle Server API. It is inteded to be used in contexts where you want to "download" the whole object, or iteratively traverse its whole tree.
|
||||
This is a small utility class that helps you stream an object and all its sub-components from the Speckle Server API. It is intended to be used in contexts where you want to "download" the whole object, or iteratively traverse its whole tree.
|
||||
|
||||
Here's a sample way on how to use it, pfilfered from the [3d viewer package](../viewer):
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ let graphqlServer
|
|||
|
||||
/**
|
||||
* Initialises the express application together with the graphql server middleware.
|
||||
* @return {[type]} an express applicaiton and the graphql server
|
||||
* @return {[type]} an express application and the graphql server
|
||||
*/
|
||||
exports.init = async ( ) => {
|
||||
const app = express( )
|
||||
|
|
|
@ -45,7 +45,7 @@ module.exports = async ( app, session, sessionStorage, finalizeAuth ) => {
|
|||
existingUser = await getUserByEmail( { email: user.email } )
|
||||
|
||||
// if there is an existing user, go ahead and log them in (regardless of
|
||||
// wether the server is invite only or not).
|
||||
// whether the server is invite only or not).
|
||||
if ( existingUser ) {
|
||||
let myUser = await findOrCreateUser( { user: user, rawProfile: profile._raw } )
|
||||
return done( null, myUser )
|
||||
|
|
|
@ -42,7 +42,7 @@ module.exports = async ( app, session, sessionStorage, finalizeAuth ) => {
|
|||
existingUser = await getUserByEmail( { email: user.email } )
|
||||
|
||||
// if there is an existing user, go ahead and log them in (regardless of
|
||||
// wether the server is invite only or not).
|
||||
// whether the server is invite only or not).
|
||||
if ( existingUser ) {
|
||||
let myUser = await findOrCreateUser( { user: user, rawProfile: profile._raw } )
|
||||
return done( null, myUser )
|
||||
|
|
|
@ -161,7 +161,7 @@ describe( 'Apps @apps', ( ) => {
|
|||
let usedAccessCode = await createAuthorizationCode( { appId: myTestApp.id, userId: actor.id, challenge } )
|
||||
let apiTokenResponse = await createAppTokenFromAccessCode( { appId: myTestApp.id, appSecret: myTestApp.secret, accessCode: usedAccessCode, challenge: challenge } )
|
||||
|
||||
// We now have one unused acces code, an api token and a refresh token.
|
||||
// We now have one unused access code, an api token and a refresh token.
|
||||
// Proceed to update the app:
|
||||
const res = await updateApp( { app: { name: 'updated test application', id: myTestApp.id, scopes: [ 'streams:write', 'users:read' ] } } )
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ type Stream {
|
|||
description: String
|
||||
isPublic: Boolean!
|
||||
"""
|
||||
Your role for this stream. `null` if request is not authenticated, or the stream is not explictely shared with you.
|
||||
Your role for this stream. `null` if request is not authenticated, or the stream is not explicitly shared with you.
|
||||
"""
|
||||
role: String
|
||||
createdAt: DateTime!
|
||||
|
|
|
@ -37,7 +37,7 @@ exports.up = async knex => {
|
|||
// Roles.
|
||||
// Roles keep track of their name and the target resource they are applied to.
|
||||
// The target resource must be a table name.
|
||||
// The heigher the weight, the bigger the permissions.
|
||||
// The higher the weight, the bigger the permissions.
|
||||
await knex.schema.createTable( 'user_roles', table => {
|
||||
table.string( 'name', 256 ).primary( )
|
||||
table.string( 'description', 256 ).notNullable( )
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// Conventions:
|
||||
// "weight: 1000" => resource owner
|
||||
// "weight: 100" => resource viewer / basic user
|
||||
// Anything in between 100 and 1000 can be used for escalating priviliges.
|
||||
// Anything in between 100 and 1000 can be used for escalating privileges.
|
||||
|
||||
module.exports = [
|
||||
/**
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = {
|
|||
let closureBatchSize = 1000
|
||||
let objectsBatchSize = 500
|
||||
|
||||
// step 1: insert objecs
|
||||
// step 1: insert objects
|
||||
if ( objsToInsert.length > 0 ) {
|
||||
let batches = chunk( objsToInsert, objectsBatchSize )
|
||||
for ( const batch of batches ) {
|
||||
|
@ -270,7 +270,7 @@ module.exports = {
|
|||
cursor = JSON.parse( Buffer.from( cursor, 'base64' ).toString( 'binary' ) )
|
||||
}
|
||||
|
||||
// Flag that keeps track of wether we select the whole "data" part of an object or not
|
||||
// Flag that keeps track of whether we select the whole "data" part of an object or not
|
||||
let fullObjectSelect = false
|
||||
if ( Array.isArray( select ) ) {
|
||||
// if we order by a field that we do not select, select it!
|
||||
|
@ -332,7 +332,7 @@ module.exports = {
|
|||
else whereClause = 'andWhere'
|
||||
|
||||
// Note: castType is generated from the statement's value and operators are matched against a whitelist.
|
||||
// If comparing with strings, the jsonb_path_query(_first) func returns json encoded strings (ie, `bar` is actually `"bar"`), hence we need to add the qoutes manually to the raw provided comparison value.
|
||||
// If comparing with strings, the jsonb_path_query(_first) func returns json encoded strings (ie, `bar` is actually `"bar"`), hence we need to add the quotes manually to the raw provided comparison value.
|
||||
nestedWhereQuery[ whereClause ]( knex.raw( `jsonb_path_query_first( data, ? )::${castType} ${statement.operator} ? `, [ '$.' + statement.field, castType === 'text' ? `"${statement.value}"` : statement.value ] ) )
|
||||
} )
|
||||
} )
|
||||
|
@ -358,7 +358,7 @@ module.exports = {
|
|||
if ( typeof cursor.value === 'boolean' ) castType = 'boolean'
|
||||
if ( typeof cursor.value === 'number' ) castType = 'numeric'
|
||||
|
||||
// When strings are used inside an order clause, as mentioned above, we need to add qoutes around the comparison value, as the jsonb_path_query funcs return json encoded strings (`{"test":"foo"}` => test is returned as `"foo"`)
|
||||
// When strings are used inside an order clause, as mentioned above, we need to add quotes around the comparison value, as the jsonb_path_query funcs return json encoded strings (`{"test":"foo"}` => test is returned as `"foo"`)
|
||||
if ( castType === 'text' )
|
||||
cursor.value = `"${cursor.value}"`
|
||||
|
||||
|
@ -423,7 +423,7 @@ module.exports = {
|
|||
cursorObj.lastSeenId = rows[ rows.length - 1 ].id
|
||||
}
|
||||
|
||||
// Cursor objetcs should be client-side opaque, hence we encode them to base64.
|
||||
// Cursor objects should be client-side opaque, hence we encode them to base64.
|
||||
let cursorEncoded = Buffer.from( JSON.stringify( cursorObj ), 'binary' ).toString( 'base64' )
|
||||
return { totalCount, objects: rows, cursor: rows.length === limit ? cursorEncoded : null }
|
||||
},
|
||||
|
|
|
@ -305,7 +305,7 @@ describe( 'Objects @core-objects', ( ) => {
|
|||
|
||||
} )
|
||||
|
||||
it( 'should query childern and sort them by a boolean value ', async ( ) => {
|
||||
it( 'should query children and sort them by a boolean value ', async ( ) => {
|
||||
let test = await getObjectChildrenQuery( {
|
||||
streamId: stream.id,
|
||||
objectId: parentObjectId,
|
||||
|
@ -330,7 +330,7 @@ describe( 'Objects @core-objects', ( ) => {
|
|||
|
||||
} )
|
||||
|
||||
it( 'should query childern and sort them by a string value ', async ( ) => {
|
||||
it( 'should query children and sort them by a string value ', async ( ) => {
|
||||
let limVal = 20
|
||||
|
||||
let test = await getObjectChildrenQuery( {
|
||||
|
@ -355,13 +355,13 @@ describe( 'Objects @core-objects', ( ) => {
|
|||
|
||||
expect( test.objects[ 0 ].data.name ).to.equal( 'mr. 0' )
|
||||
expect( test.objects[ 1 ].data.name ).to.equal( 'mr. 1' )
|
||||
expect( test.objects[ 2 ].data.name ).to.equal( 'mr. 10' ) // remeber kids, this is a lexicographical sort
|
||||
expect( test.objects[ 2 ].data.name ).to.equal( 'mr. 10' ) // remember kids, this is a lexicographical sort
|
||||
expect( test.objects[ 4 ].data.name ).to.equal( 'mr. 12' )
|
||||
expect( test2.objects[ 0 ].data.name ).to.equal( 'mr. 13' )
|
||||
|
||||
} )
|
||||
|
||||
it( 'should query childern and sort them by id by default ', async ( ) => {
|
||||
it( 'should query children and sort them by id by default ', async ( ) => {
|
||||
let test = await getObjectChildrenQuery( {
|
||||
streamId: stream.id,
|
||||
objectId: parentObjectId,
|
||||
|
|
|
@ -140,7 +140,7 @@ describe( 'Upload/Download Routes @api-rest', ( ) => {
|
|||
.attach( 'batch2', Buffer.from( JSON.stringify( objBatches[ 1 ] ), 'utf8' ) )
|
||||
.attach( 'batch3', Buffer.from( JSON.stringify( objBatches[ 2 ] ), 'utf8' ) )
|
||||
|
||||
// TODO: test gziped uploads. They work. Current blocker: cannot set content-type for each part in the 'multipart' request.
|
||||
// TODO: test gzipped uploads. They work. Current blocker: cannot set content-type for each part in the 'multipart' request.
|
||||
// .attach( 'batch1', zlib.gzipSync( Buffer.from( JSON.stringify( objBatches[ 0 ] ) ), 'utf8' ) )
|
||||
// .attach( 'batch2', zlib.gzipSync( Buffer.from( JSON.stringify( objBatches[ 1 ] ) ), 'utf8' ) )
|
||||
// .attach( 'batch3', zlib.gzipSync( Buffer.from( JSON.stringify( objBatches[ 2 ] ) ), 'utf8' ) )
|
||||
|
|
|
@ -41,7 +41,7 @@ describe( 'Password reset requests @passwordresets', ( ) => {
|
|||
.post( '/auth/pwdreset/request' )
|
||||
.expect( 400 )
|
||||
|
||||
// non-existant user
|
||||
// non-existent user
|
||||
await request( expressApp )
|
||||
.post( '/auth/pwdreset/request' )
|
||||
.send( { email: 'doesnot@exist.here' } )
|
||||
|
|
|
@ -42,7 +42,7 @@ async function contextApiTokenHelper( { req, res, connection } ) {
|
|||
|
||||
return { auth: true, userId, role, token, scopes }
|
||||
} catch ( e ) {
|
||||
// TODO: Think wether perhaps it's better to throw the error
|
||||
// TODO: Think whether perhaps it's better to throw the error
|
||||
return { auth: false, err: e }
|
||||
}
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ export default class Coverter {
|
|||
}
|
||||
|
||||
/**
|
||||
* If the object is convertable (there is a direct conversion routine), it will invoke the callback with the conversion result.
|
||||
* If the object is not convertable, it will recursively iterate through it (arrays & objects) and invoke the callback on any postive conversion result.
|
||||
* If the object is convertible (there is a direct conversion routine), it will invoke the callback with the conversion result.
|
||||
* If the object is not convertible, it will recursively iterate through it (arrays & objects) and invoke the callback on any positive conversion result.
|
||||
* @param {[type]} obj [description]
|
||||
* @param {Function} callback [description]
|
||||
* @return {[type]} [description]
|
||||
|
@ -236,7 +236,7 @@ export default class Coverter {
|
|||
if ( !obj ) return
|
||||
let { bufferGeometry } = await this.MeshToBufferGeometry( await this.resolveReference( obj.displayValue || obj.displayMesh ), scale )
|
||||
|
||||
// deletes known uneeded fields
|
||||
// deletes known unneeded fields
|
||||
// delete obj.displayMesh
|
||||
// delete obj.displayValue
|
||||
delete obj.Edges
|
||||
|
@ -476,7 +476,7 @@ export default class Coverter {
|
|||
const xAxis = this.PointToVector3( plane.xdir )
|
||||
const yAxis = this.PointToVector3( plane.ydir )
|
||||
|
||||
// Make sure plane axis are unit lenght!!!!
|
||||
// Make sure plane axis are unit length!!!!
|
||||
xAxis.normalize()
|
||||
yAxis.normalize()
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@ var TransformControls = function ( camera, domElement, translationDotsOnly ) {
|
|||
|
||||
};
|
||||
|
||||
// Detatch from object
|
||||
// Detach from object
|
||||
this.detach = function () {
|
||||
|
||||
this.object = undefined;
|
||||
|
|
Загрузка…
Ссылка в новой задаче